home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / Hack / MISC / HACKDIC2.ZIP / JARGON2.TXT < prev   
Encoding:
Text File  |  1993-06-24  |  391.3 KB  |  7,438 lines

  1. :fall through: v. (n. `fallthrough', var. `fall-through')
  2.    1. To exit a loop by exhaustion, i.e., by having fulfilled its exit
  3.    condition rather than via a break or exception condition that exits
  4.    from the middle of it.  This usage appears to be *really* old,
  5.    dating from the 1940s and 1950s.  2. To fail a test that would have
  6.    passed control to a subroutine or some other distant portion of
  7.    code.  3. In C, `fall-through' occurs when the flow of execution in
  8.    a switch statement reaches a `case' label other than by
  9.    jumping there from the switch header, passing a point where one
  10.    would normally expect to find a `break'.  A trivial example:
  11.  
  12.      switch (color)
  13.      {
  14.      case GREEN:
  15.         do_green();
  16.         break;
  17.      case PINK:
  18.         do_pink();
  19.         /* FALL THROUGH */
  20.      case RED:
  21.         do_red();
  22.         break;
  23.      default:
  24.         do_blue();
  25.         break;
  26.      }
  27.  
  28.    The variant spelling `/* FALL THRU */' is also common.
  29.  
  30.    The effect of the above code is to `do_green()' when color is
  31.    `GREEN', `do_red()' when color is `RED',
  32.    `do_blue()' on any other color other than `PINK', and
  33.    (and this is the important part) `do_pink()' *and then*
  34.    `do_red()' when color is `PINK'.  Fall-through is
  35.    {considered harmful} by some, though there are contexts (such as
  36.    the coding of state machines) in which it is natural; it is
  37.    generally considered good practice to include a comment
  38.    highlighting the fall-through where one would normally expect a
  39.    break.
  40.  
  41. :fan: n.  Without qualification, indicates a fan of science
  42.    fiction, especially one who goes to {con}s and tends to hang out
  43.    with other fans.  Many hackers are fans, so this term has been
  44.    imported from fannish slang; however, unlike much fannish slang it
  45.    is recognized by most non-fannish hackers.  Among SF fans the
  46.    plural is correctly `fen', but this usage is not automatic to
  47.    hackers.  "Laura reads the stuff occasionally but isn't really a
  48.    fan."
  49.  
  50. :fandango on core: [UNIX/C hackers, from the Mexican dance] n.
  51.    In C, a wild pointer that runs out of bounds, causing a {core
  52.    dump}, or corrupts the `malloc(3)' {arena} in such a way as
  53.    to cause mysterious failures later on, is sometimes said to have
  54.    `done a fandango on core'.  On low-end personal machines without an
  55.    MMU, this can corrupt the OS itself, causing massive lossage.
  56.    Other frenetic dances such as the rhumba, cha-cha, or watusi, may
  57.    be substituted.  See {aliasing bug}, {precedence lossage},
  58.    {smash the stack}, {memory leak}, {memory smash},
  59.    {overrun screw}, {core}.
  60.  
  61. :FAQ: /F-A-Q/ or /fak/ [USENET] n. 1. A Frequently Asked Question.
  62.    2. A compendium of accumulated lore, posted periodically to
  63.    high-volume newsgroups in an attempt to forestall such questions.
  64.    Some people prefer the term `FAQ list' or `FAQL' /fa'kl/,
  65.    reserving `FAQ' for sense 1.
  66.  
  67.    This lexicon itself serves as a good example of a collection of one
  68.    kind of lore, although it is far too big for a regular FAQ
  69.    posting.  Examples: "What is the proper type of NULL?"  and
  70.    "What's that funny name for the `#' character?" are both
  71.    Frequently Asked Questions.  Several FAQ lists refer readers to
  72.    this file.
  73.  
  74. :FAQ list: /F-A-Q list/ or /fak list/ [USENET] n. Syn {FAQ},
  75.    sense 2.
  76.  
  77. :FAQL: /fa'kl/ n. Syn. {FAQ list}.
  78.  
  79. :faradize: /far'*-di:z/ [US Geological Survey] v. To start any
  80.    hyper-addictive process or trend, or to continue adding current to
  81.    such a trend.  Telling one user about a new octo-tetris game you
  82.    compiled would be a faradizing act --- in two weeks you might find
  83.    your entire department playing the faradic game.
  84.  
  85. :farkled: /far'kld/ [DeVry Institute of Technology, Atlanta] adj.
  86.    Syn. {hosed}.  Poss. owes something to Yiddish `farblondjet'.
  87.  
  88. :farming: [Adelaide University, Australia] n. What the heads of a
  89.    disk drive are said to do when they plow little furrows in the
  90.    magnetic media.  Associated with a {crash}.  Typically used as
  91.    follows: "Oh no, the machine has just crashed; I hope the hard
  92.    drive hasn't gone {farming} again."
  93.  
  94. :fascist: adj. 1. Said of a computer system with excessive or
  95.    annoying security barriers, usage limits, or access policies.  The
  96.    implication is that said policies are preventing hackers from
  97.    getting interesting work done.  The variant `fascistic' seems to
  98.    have been preferred at MIT, poss. by analogy with `touristic'
  99.    (see {tourist}).  2. In the design of languages and other
  100.    software tools, `the fascist alternative' is the most restrictive
  101.    and structured way of capturing a particular function; the
  102.    implication is that this may be desirable in order to simplify the
  103.    implementation or provide tighter error checking.  Compare
  104.    {bondage-and-discipline language}, although that term is global
  105.    rather than local.
  106.  
  107. :fat electrons: n. Old-time hacker David Cargill's theory on the
  108.    causation of computer glitches.  Your typical electric utility
  109.    draws its line current out of the big generators with a pair of
  110.    coil taps located near the top of the dynamo.  When the normal tap
  111.    brushes get dirty, they take them off line to clean them up, and use
  112.    special auxiliary taps on the *bottom* of the coil.  Now,
  113.    this is a problem, because when they do that they get not ordinary
  114.    or `thin' electrons, but the fat'n'sloppy electrons that are
  115.    heavier and so settle to the bottom of the generator.  These flow
  116.    down ordinary wires just fine, but when they have to turn a sharp
  117.    corner (as in an integrated-circuit via), they're apt to get stuck.
  118.    This is what causes computer glitches.  [Fascinating.  Obviously,
  119.    fat electrons must gain mass by {bogon} absorption --- ESR]
  120.    Compare {bogon}, {magic smoke}.
  121.  
  122. :faulty: adj. Non-functional; buggy.  Same denotation as
  123.    {bletcherous}, {losing}, q.v., but the connotation is much
  124.    milder.
  125.  
  126. :fd leak: /F-D leek/ n. A kind of programming bug analogous to a
  127.    {core leak}, in which a program fails to close file descriptors
  128.    (`fd's) after file operations are completed, and thus eventually
  129.    runs out of them.  See {leak}.
  130.  
  131. :fear and loathing: [from Hunter S. Thompson] n. A state inspired by the
  132.    prospect of dealing with certain real-world systems and standards
  133.    that are totally {brain-damaged} but ubiquitous --- Intel 8086s,
  134.    or {COBOL}, or {{EBCDIC}}, or any {IBM} machine except the
  135.    Rios (a.k.a. the RS/6000).  "Ack!  They want PCs to be able to
  136.    talk to the AI machine.  Fear and loathing time!"
  137.  
  138. :feature: n. 1. A good property or behavior (as of a program).
  139.    Whether it was intended or not is immaterial.  2. An intended
  140.    property or behavior (as of a program).  Whether it is good or not
  141.    is immaterial (but if bad, it is also a {misfeature}).  3. A
  142.    surprising property or behavior; in particular, one that is
  143.    purposely inconsistent because it works better that way --- such an
  144.    inconsistency is therefore a {feature} and not a {bug}.  This
  145.    kind of feature is sometimes called a {miswart}; see that entry
  146.    for a classic example.  4. A property or behavior that is
  147.    gratuitous or unnecessary, though perhaps also impressive or cute.
  148.    For example, one feature of Common LISP's `format' function is
  149.    the ability to print numbers in two different Roman-numeral formats
  150.    (see {bells, whistles, and gongs}).  5. A property or behavior
  151.    that was put in to help someone else but that happens to be in your
  152.    way.  6. A bug that has been documented.  To call something a
  153.    feature sometimes means the author of the program did not consider
  154.    the particular case, and that the program responded in a way that
  155.    was unexpected but not strictly incorrect.  A standard joke is that
  156.    a bug can be turned into a {feature} simply by documenting it
  157.    (then theoretically no one can complain about it because it's in
  158.    the manual), or even by simply declaring it to be good.  "That's
  159.    not a bug, that's a feature!" is a common catchphrase.  See also
  160.    {feetch feetch}, {creeping featurism}, {wart}, {green
  161.    lightning}.
  162.  
  163.    The relationship among bugs, features, misfeatures, warts, and
  164.    miswarts might be clarified by the following hypothetical exchange
  165.    between two hackers on an airliner:
  166.  
  167.    A: "This seat doesn't recline."
  168.  
  169.    B: "That's not a bug, that's a feature.  There is an emergency
  170.    exit door built around the window behind you, and the route has to
  171.    be kept clear."
  172.  
  173.    A: "Oh.  Then it's a misfeature; they should have increased the
  174.    spacing between rows here."
  175.  
  176.    B: "Yes.  But if they'd increased spacing in only one section it
  177.    would have been a wart --- they would've had to make
  178.    nonstandard-length ceiling panels to fit over the displaced
  179.    seats."
  180.  
  181.    A: "A miswart, actually.  If they increased spacing throughout
  182.    they'd lose several rows and a chunk out of the profit margin.  So
  183.    unequal spacing would actually be the Right Thing."
  184.  
  185.    B: "Indeed."
  186.  
  187.    `Undocumented feature' is a common, allegedly humorous euphemism
  188.    for a {bug}.
  189.  
  190. :feature creature: [poss. fr. slang `creature feature' for a
  191.    horror movie] n. 1. One who loves to add features to designs or
  192.    programs, perhaps at the expense of coherence, concision, or
  193.    {taste}.  2. Alternately, a mythical being that induces
  194.    otherwise rational programmers to perpetrate such crocks.  See also
  195.    {feeping creaturism}, {creeping featurism}.
  196.  
  197. :feature key: n. The Macintosh key with the cloverleaf graphic on
  198.    its keytop; sometimes referred to as `flower', `pretzel',
  199.    `clover', `propeller', `beanie' (an apparent reference to the
  200.    major feature of a propeller beanie), {splat}, or the `command
  201.    key'.  The Mac's equivalent of an {alt} key (and so labeled omed
  202.    on the Mac II).  The proliferation of terms for this creature may
  203.    illustrate one subtle peril of iconic interfaces.
  204.  
  205.    Many people have been mystified by the cloverleaf-like symbol that
  206.    appears on the feature key.  Its oldest name is `cross of St.
  207.    Hannes', but it occurs in pre-Christian Viking art as a decorative
  208.    motif.  Throughout Scandinavia today the road agencies use it to
  209.    mark sites of historical interest.  Though this symbol technically
  210.    stands for the word `sev"ardhet' (interesting feature) many of
  211.    these are old churches; hence, the Swedish idiom for the symbol is
  212.    `kyrka', cognate to English `church' and Scots-dialect `kirk' but
  213.    pronounced /shir'k*/ in modern Swedish.  This is in fact where
  214.    Apple got the symbol; Apple gives the translation "interesting
  215.    feature"!
  216.  
  217. :feature shock: [from Alvin Toffler's book title `Future
  218.    Shock'] n. A user's (or programmer's!) confusion when confronted
  219.    with a package that has too many features and poor introductory
  220.    material.
  221.  
  222. :featurectomy: /fee`ch*r-ek't*-mee/ n. The act of removing a
  223.    feature from a program.  Featurectomies come in two flavors, the
  224.    `righteous' and the `reluctant'.  Righteous featurectomies are
  225.    performed because the remover believes the program would be more
  226.    elegant without the feature, or there is already an equivalent and
  227.    better way to achieve the same end.  (Doing so is not quite the
  228.    same thing as removing a {misfeature}.)  Reluctant
  229.    featurectomies are performed to satisfy some external constraint
  230.    such as code size or execution speed.
  231.  
  232. :feep: /feep/ 1. n. The soft electronic `bell' sound of a
  233.    display terminal (except for a VT-52); a beep (in fact, the
  234.    microcomputer world seems to prefer {beep}).  2. vi. To cause
  235.    the display to make a feep sound.  ASR-33s (the original TTYs) do
  236.    not feep; they have mechanical bells that ring.  Alternate forms:
  237.    {beep}, `bleep', or just about anything suitably
  238.    onomatopoeic.  (Jeff MacNelly, in his comic strip "Shoe", uses
  239.    the word `eep' for sounds made by computer terminals and video
  240.    games; this is perhaps the closest written approximation yet.)  The
  241.    term `breedle' was sometimes heard at SAIL, where the terminal
  242.    bleepers are not particularly soft (they sound more like the
  243.    musical equivalent of a raspberry or Bronx cheer; for a close
  244.    approximation, imagine the sound of a Star Trek communicator's beep
  245.    lasting for five seconds).  The `feeper' on a VT-52 has been
  246.    compared to the sound of a '52 Chevy stripping its gears.  See also
  247.    {ding}.
  248.  
  249. :feeper: /fee'pr/ n. The device in a terminal or workstation (usually
  250.    a loudspeaker of some kind) that makes the {feep} sound.
  251.  
  252. :feeping creature: [from {feeping creaturism}] n. An unnecessary
  253.    feature; a bit of {chrome} that, in the speaker's judgment, is
  254.    the camel's nose for a whole horde of new features.
  255.  
  256. :feeping creaturism: /fee'ping kree`ch*r-izm/ n. A deliberate
  257.    spoonerism for {creeping featurism}, meant to imply that the
  258.    system or program in question has become a misshapen creature of
  259.    hacks.  This term isn't really well defined, but it sounds so neat
  260.    that most hackers have said or heard it.  It is probably reinforced
  261.    by an image of terminals prowling about in the dark making their
  262.    customary noises.
  263.  
  264. :feetch feetch: /feech feech/ interj. If someone tells you about
  265.    some new improvement to a program, you might respond: "Feetch,
  266.    feetch!"  The meaning of this depends critically on vocal
  267.    inflection.  With enthusiasm, it means something like "Boy, that's
  268.    great!  What a great hack!"  Grudgingly or with obvious doubt, it
  269.    means "I don't know; it sounds like just one more unnecessary and
  270.    complicated thing".  With a tone of resignation, it means, "Well,
  271.    I'd rather keep it simple, but I suppose it has to be done".
  272.  
  273. :fence: n. 1. A sequence of one or more distinguished
  274.    ({out-of-band}) characters (or other data items), used to
  275.    delimit a piece of data intended to be treated as a unit (the
  276.    computer-science literature calls this a `sentinel').  The NUL
  277.    (ASCII 0000000) character that terminates strings in C is a fence.
  278.    Hex FF is also (though slightly less frequently) used this way.
  279.    See {zigamorph}.  2. An extra data value inserted in an array or
  280.    other data structure in order to allow some normal test on the
  281.    array's contents also to function as a termination test.  For
  282.    example, a highly optimized routine for finding a value in an array
  283.    might artificially place a copy of the value to be searched for
  284.    after the last slot of the array, thus allowing the main search
  285.    loop to search for the value without having to check at each pass
  286.    whether the end of the array had been reached.  3. [among users of
  287.    optimizing compilers] Any technique, usually exploiting knowledge
  288.    about the compiler, that blocks certain optimizations.  Used when
  289.    explicit mechanisms are not available or are overkill.  Typically a
  290.    hack: "I call a dummy procedure there to force a flush of the
  291.    optimizer's register-coloring info" can be expressed by the
  292.    shorter "That's a fence procedure".
  293.  
  294. :fencepost error: n. 1. A problem with the discrete equivalent of a
  295.    boundary condition, often exhibited in programs by iterative
  296.    loops.  From the following problem: "If you build a fence 100 feet
  297.    long with posts 10 feet apart, how many posts do you need?"
  298.    (Either 9 or 11 is a better answer than the obvious 10.)  For
  299.    example, suppose you have a long list or array of items, and want
  300.    to process items m through n; how many items are there?  The
  301.    obvious answer is n - m, but that is off by one; the right
  302.    answer is n - m + 1.  A program that used the `obvious'
  303.    formula would have a fencepost error in it.  See also {zeroth}
  304.    and {off-by-one error}, and note that not all off-by-one errors
  305.    are fencepost errors.  The game of Musical Chairs involves a
  306.    catastrophic off-by-one error where N people try to sit in
  307.    N - 1 chairs, but it's not a fencepost error.  Fencepost
  308.    errors come from counting things rather than the spaces between
  309.    them, or vice versa, or by neglecting to consider whether one
  310.    should count one or both ends of a row.  2. [rare] An error
  311.    induced by unexpected regularities in input values, which can (for
  312.    instance) completely thwart a theoretically efficient binary tree or
  313.    hash table implementation.  (The error here involves the difference
  314.    between expected and worst case behaviors of an algorithm.)
  315.  
  316. :fepped out: /fept owt/ adj. The Symbolics 3600 LISP Machine has a
  317.    Front-End Processor called a `FEP' (compare sense 2 of {box}).
  318.    When the main processor gets {wedged}, the FEP takes control of
  319.    the keyboard and screen.  Such a machine is said to have
  320.    `fepped out'.
  321.  
  322. :FidoNet: n. A worldwide hobbyist network of personal computers
  323.    which exchanges mail, discussion groups, and files.  Founded in 1984
  324.    and originally consisting only of IBM PCs and compatibles, FidoNet
  325.    now includes such diverse machines as Apple ][s, Ataris, Amigas,
  326.    and UNIX systems.  Though it is much younger than {USENET},
  327.    FidoNet is already (in early 1991) a significant fraction of
  328.    USENET's size at some 8000 systems.
  329.  
  330. :field circus: [a derogatory pun on `field service'] n. The field
  331.    service organization of any hardware manufacturer, but especially
  332.    DEC.  There is an entire genre of jokes about DEC field circus
  333.    engineers:
  334.  
  335.      Q: How can you recognize a DEC field circus engineer
  336.         with a flat tire?
  337.      A: He's changing one tire at a time to see which one is flat.
  338.  
  339.      Q: How can you recognize a DEC field circus engineer
  340.         who is out of gas?
  341.      A: He's changing one tire at a time to see which one is flat.
  342.  
  343.    [See {Easter egging} for additional insight on these jokes.]
  344.  
  345.    There is also the `Field Circus Cheer' (from the {plan file} for
  346.    DEC on MIT-AI):
  347.  
  348.      Maynard! Maynard!
  349.      Don't mess with us!
  350.      We're mean and we're tough!
  351.      If you get us confused
  352.      We'll screw up your stuff.
  353.  
  354.    (DEC's service HQ is located in Maynard, Massachusetts.)
  355.  
  356. :field servoid: [play on `android'] /fee'ld ser'voyd/ n.
  357.    Representative of a field service organization (see {field
  358.    circus}).  This has many of the implications of {droid}.
  359.  
  360. :Fight-o-net: [FidoNet] n. Deliberate distortion of {FidoNet},
  361.    often applied after a flurry of {flamage} in a particular
  362.    {echo}, especially the SYSOP echo or Fidonews (see {'Snooze}).
  363.  
  364. :File Attach: [FidoNet] 1. n. A file sent along with a mail message
  365.    from one BBS to another.  2. vt. Sending someone a file by using
  366.    the File Attach option in a BBS mailer.
  367.  
  368. :File Request: [FidoNet] 1. n. The {FidoNet} equivalent of
  369.    {FTP}, in which one BBS system automatically dials another and
  370.    {snarf}s one or more files.  Often abbreviated `FReq'; files
  371.    are often announced as being "available for FReq" in the same way
  372.    that files are announced as being "available for/by anonymous
  373.    FTP" on the Internet.  2. vt. The act of getting a copy of a file
  374.    by using the File Request option of the BBS mailer.
  375.  
  376. :file signature: n. A {magic number} sense 3.
  377.  
  378. :filk: /filk/ [from SF fandom, where a typo for `folk' was
  379.    adopted as a new word] n.,v. A popular or folk song with lyrics
  380.    revised or completely new lyrics, intended for humorous effect when
  381.    read, and/or to be sung late at night at SF conventions.  There is a
  382.    flourishing subgenre of these called `computer filks', written by
  383.    hackers and often containing rather sophisticated technical humor.
  384.    See {double bucky} for an example.  Compare {grilf},
  385.    {hing} and {newsfroup}.
  386.  
  387. :film at 11: [MIT: in parody of TV newscasters] 1. Used in
  388.    conversation to announce ordinary events, with a sarcastic
  389.    implication that these events are earth-shattering.  "{{ITS}}
  390.    crashes; film at 11."  "Bug found in scheduler; film at 11."
  391.    2. Also widely used outside MIT to indicate that additional
  392.    information will be available at some future time, *without*
  393.    the implication of anything particularly ordinary about the
  394.    referenced event.  For example, "The mail file server died this
  395.    morning; we found garbage all over the root directory.  Film at
  396.    11." would indicate that a major failure had occurred but that the
  397.    people working on it have no additional information about it as
  398.    yet; use of the phrase in this way suggests gently that the problem
  399.    is liable to be fixed more quickly if the people doing the fixing
  400.    can spend time doing the fixing rather than responding to
  401.    questions, the answers to which will appear on the normal "11:00
  402.    news", if people will just be patient.
  403.  
  404. :filter: [orig. {{UNIX}}, now also in {{MS-DOS}}] n. A program that
  405.    processes an input data stream into an output data stream in some
  406.    well-defined way, and does no I/O to anywhere else except possibly
  407.    on error conditions; one designed to be used as a stage in a
  408.    `pipeline' (see {plumbing}).  Compare {sponge}.
  409.  
  410. :Finagle's Law: n. The generalized or `folk' version of
  411.    {Murphy's Law}, fully named "Finagle's Law of Dynamic
  412.    Negatives" and usually rendered "Anything that can go wrong,
  413.    will".  One variant favored among hackers is "The perversity of
  414.    the Universe tends towards a maximum" (but see also {Hanlon's
  415.    Razor}).  The label `Finagle's Law' was popularized by SF author
  416.    Larry Niven in several stories depicting a frontier culture of
  417.    asteroid miners; this `Belter' culture professed a religion
  418.    and/or running joke involving the worship of the dread god Finagle
  419.    and his mad prophet Murphy.
  420.  
  421. :fine: [WPI] adj. Good, but not good enough to be {cuspy}.  The word
  422.    `fine' is used elsewhere, of course, but without the implicit
  423.    comparison to the higher level implied by {cuspy}.
  424.  
  425. :finger: [WAITS, via BSD UNIX] 1. n. A program that displays
  426.    information about a particular user or all users logged on the
  427.    system, or a remote system.  Typically shows full name, last login
  428.    time, idle time, terminal line, and terminal location (where
  429.    applicable).  May also display a {plan file} left by the user
  430.    (see also {Hacking X for Y}).  2. vt. To apply finger to a
  431.    username.  3. vt. By extension, to check a human's current state by
  432.    any means.  "Foodp?"  "T!"  "OK, finger Lisa and see if she's
  433.    idle."  4. Any picture (composed of ASCII characters) depicting
  434.    `the finger'.  Originally a humorous component of one's plan file
  435.    to deter the curious fingerer (sense 2), it has entered the arsenal
  436.    of some {flamer}s.
  437.  
  438. :finger-pointing syndrome: n. All-too-frequent result of bugs, esp.
  439.    in new or experimental configurations.  The hardware vendor points
  440.    a finger at the software.  The software vendor points a finger
  441.    at the hardware.  All the poor users get is the finger.
  442.  
  443. :finn: [IRC] v. To pull rank on somebody based on the amount of
  444.    time one has spent on {IRC}.  The term derives from the fact
  445.    that IRC was originally written in Finland in 1987.
  446.    
  447. :firebottle: n. A large, primitive, power-hungry active electrical
  448.    device, similar in function to a FET but constructed out of glass,
  449.    metal, and vacuum.  Characterized by high cost, low density, low
  450.    reliability, high-temperature operation, and high power
  451.    dissipation.  Sometimes mistakenly called a `tube' in the U.S.
  452.    or a `valve' in England; another hackish term is {glassfet}.
  453.  
  454. :firefighting: n. 1. What sysadmins have to do to correct sudden
  455.    operational problems.  An opposite of hacking.  "Been hacking your
  456.    new newsreader?"  "No, a power glitch hosed the network and I spent
  457.    the whole afternoon fighting fires."  2. The act of throwing lots
  458.    of manpower and late nights at a project, esp. to get it out
  459.    before deadline.  See also {gang bang}, {Mongolian Hordes
  460.    technique}; however, the term `firefighting' connotes that the
  461.    effort is going into chasing bugs rather than adding features.
  462.  
  463. :firehose syndrome: n. In mainstream folklore it is observed that
  464.    trying to drink from a firehose can be a good way to rip your lips
  465.    off.  On computer networks, the absence or failure of flow control
  466.    mechanisms can lead to situations in which the sending system
  467.    sprays a massive flood of packets at an unfortunate receiving
  468.    system, more than it can handle.  Compare {overrun}, {buffer
  469.    overflow}.
  470.  
  471. :firewall code: n. 1. The code you put in a system (say, a
  472.    telephone switch) to make sure that the users can't do any
  473.    damage. Since users always want to be able to do everything but
  474.    never want to suffer for any mistakes, the construction of a
  475.    firewall is a question not only of defensive coding but also of
  476.    interface presentation, so that users don't even get curious about
  477.    those corners of a system where they can burn themselves.
  478.    2. Any sanity check inserted to catch a {can't happen} error.
  479.    Wise programmers often change code to fix a bug twice: once to fix
  480.    the bug, and once to insert a firewall which would have arrested
  481.    the bug before it did quite as much damage.
  482.  
  483. :firewall machine: n. A dedicated gateway machine with special
  484.    security precautions on it, used to service outside network
  485.    connections and dial-in lines.  The idea is to protect a cluster of
  486.    more loosely administered machines hidden behind it from
  487.    {cracker}s.  The typical firewall is an inexpensive micro-based
  488.    UNIX box kept clean of critical data, with a bunch of modems and
  489.    public network ports on it but just one carefully watched
  490.    connection back to the rest of the cluster.  The special
  491.    precautions may include threat monitoring, callback, and even a
  492.    complete {iron box} keyable to particular incoming IDs or
  493.    activity patterns.  Syn. {flytrap}, {Venus flytrap}.
  494.  
  495. :fireworks mode: n. The mode a machine is sometimes said to be in when
  496.    it is performing a {crash and burn} operation.
  497.  
  498. :firmy: /fer'mee/ Syn. {stiffy} (a 3.5-inch floppy disk).
  499.  
  500. :fish: [Adelaide University, Australia] n. 1. Another {metasyntactic
  501.    variable}.  See {foo}.  Derived originally from the Monty Python
  502.    skit in the middle of "The Meaning of Life" entitled
  503.    "Find the Fish".  2. A pun for `microfiche'.  A microfiche
  504.    file cabinet may be referred to as a `fish tank'.
  505.  
  506. :FISH queue: [acronym, by analogy with FIFO (First In, First Out)]
  507.    n. `First In, Still Here'.  A joking way of pointing out that
  508.    processing of a particular sequence of events or requests has
  509.    stopped dead.  Also `FISH mode' and `FISHnet'; the latter
  510.    may be applied to any network that is running really slowly or
  511.    exhibiting extreme flakiness.
  512.  
  513. :FITNR: // [Thinking Machines, Inc.] Fixed In the Next Release.
  514.    A written-only notation attached to bug reports.  Often wishful
  515.    thinking.
  516.  
  517. :fix: n.,v. What one does when a problem has been reported too many
  518.    times to be ignored.
  519.  
  520. :FIXME: imp. A standard tag often put in C comments near a piece of
  521.    code that needs work.  The point of doing this is so that a
  522.    `grep' or similar pattern-matching tool can find all such
  523.    places quickly.
  524.  
  525.      FIXME: note this is common in {GNU} code.
  526.  
  527.    Compare {XXX}.
  528.  
  529. :flag: n. A variable or quantity that can take on one of two
  530.    values; a bit, particularly one that is used to indicate one of two
  531.    outcomes or is used to control which of two things is to be done.
  532.    "This flag controls whether to clear the screen before printing
  533.    the message."  "The program status word contains several flag
  534.    bits."  Used of humans analogously to {bit}.  See also
  535.    {hidden flag}, {mode bit}.
  536.  
  537. :flag day: n. A software change that is neither forward- nor
  538.    backward-compatible, and which is costly to make and costly to
  539.    reverse.  "Can we install that without causing a flag day for all
  540.    users?"  This term has nothing to do with the use of the word
  541.    {flag} to mean a variable that has two values.  It came into use
  542.    when a massive change was made to the {{Multics}} timesharing
  543.    system to convert from the old ASCII code to the new one; this was
  544.    scheduled for Flag Day (a U.S. holiday), June 14, 1966.  See also
  545.    {backward combatability}.
  546.  
  547. :flaky: adj. (var sp. `flakey') Subject to frequent {lossage}.
  548.    This use is of course related to the common slang use of the word
  549.    to describe a person as eccentric, crazy, or just unreliable.  A
  550.    system that is flaky is working, sort of --- enough that you are
  551.    tempted to try to use it --- but fails frequently enough that the
  552.    odds in favor of finishing what you start are low.  Commonwealth
  553.    hackish prefers {dodgy} or {wonky}.
  554.  
  555. :flamage: /flay'm*j/ n. Flaming verbiage, esp. high-noise,
  556.    low-signal postings to {USENET} or other electronic {fora}.
  557.    Often in the phrase `the usual flamage'.  `Flaming' is the act
  558.    itself; `flamage' the content; a `flame' is a single flaming
  559.    message.  See {flame}.
  560.  
  561. :flame: 1. vi. To post an email message intended to insult and
  562.    provoke.  2. vi. To speak incessantly and/or rabidly on some
  563.    relatively uninteresting subject or with a patently ridiculous
  564.    attitude.  3. vt. Either of senses 1 or 2, directed with
  565.    hostility at a particular person or people.  4. n. An instance of
  566.    flaming.  When a discussion degenerates into useless controversy,
  567.    one might tell the participants "Now you're just flaming" or
  568.    "Stop all that flamage!" to try to get them to cool down (so to
  569.    speak).
  570.  
  571.    USENETter Marc Ramsey, who was at WPI from 1972 to 1976, adds: "I
  572.    am 99% certain that the use of `flame' originated at WPI.  Those
  573.    who made a nuisance of themselves insisting that they needed to use
  574.    a TTY for `real work' came to be known as `flaming asshole lusers'.
  575.    Other particularly annoying people became `flaming asshole ravers',
  576.    which shortened to `flaming ravers', and ultimately `flamers'.  I
  577.    remember someone picking up on the Human Torch pun, but I don't
  578.    think `flame on/off' was ever much used at WPI."  See also
  579.    {asbestos}.
  580.  
  581.    The term may have been independently invented at several different
  582.    places; it is also reported that `flaming' was in use to mean
  583.    something like `interminably drawn-out semi-serious discussions'
  584.    (late-night bull sessions) at Carleton College during 1968--1971.
  585.  
  586.    It is possible that the hackish sense of `flame' is much older than
  587.    that.  The poet Chaucer was also what passed for a wizard hacker in
  588.    his time; he wrote a treatise on the astrolabe, the most advanced
  589.    computing device of the day.  In Chaucer's `Troilus and
  590.    Cressida', Cressida laments her inability to grasp the proof of a
  591.    particular mathematical theorem; her uncle Pandarus then observes
  592.    that it's called "the fleminge of wrecches."  This phrase seems
  593.    to have been intended in context as "that which puts the wretches
  594.    to flight" but was probably just as ambiguous in Middle English as
  595.    "the flaming of wretches" would be today.  One suspects that
  596.    Chaucer would feel right at home on USENET.
  597.  
  598. :flame bait: n. A posting intended to trigger a {flame war}, or one
  599.    that invites flames in reply.
  600.  
  601. :flame on: vi.,interj.  1. To begin to {flame}.  The punning
  602.    reference to Marvel Comics's Human Torch is no longer widely
  603.    recognized.  2. To continue to flame.  See {rave}, {burble}.
  604.  
  605. :flame war: n. (var. `flamewar') An acrimonious dispute,
  606.    especially when conducted on a public electronic forum such as
  607.    {USENET}.
  608.  
  609. :flamer: n. One who habitually {flame}s.  Said esp. of obnoxious
  610.    {USENET} personalities.
  611.  
  612. :flap: vt. 1. To unload a DECtape (so it goes flap, flap,
  613.    flap...).  Old-time hackers at MIT tell of the days when the
  614.    disk was device 0 and {microtape}s were 1, 2,... and
  615.    attempting to flap device 0 would instead start a motor banging
  616.    inside a cabinet near the disk.  2. By extension, to unload any
  617.    magnetic tape.  See also {macrotape}.  Modern cartridge tapes no
  618.    longer actually flap, but the usage has remained.  (The term could
  619.    well be re-applied to DEC's TK50 cartridge tape drive, a
  620.    spectacularly misengineered contraption which makes a loud flapping
  621.    sound, almost like an old reel-type lawnmower, in one of its many
  622.    tape-eating failure modes.)
  623.  
  624. :flarp: /flarp/ [Rutgers University] n. Yet another {metasyntactic
  625.    variable} (see {foo}).  Among those who use it, it is associated
  626.    with a legend that any program not containing the word `flarp'
  627.    somewhere will not work.  The legend is discreetly silent on the
  628.    reliability of programs which *do* contain the magic word.
  629.  
  630. :flat: adj. 1. Lacking any complex internal structure.  "That
  631.    {bitty box} has only a flat filesystem, not a hierarchical
  632.    one."  The verb form is {flatten}.  2. Said of a memory
  633.    architecture (like that of the VAX or 680x0) that is one big linear
  634.    address space (typically with each possible value of a processor
  635.    register corresponding to a unique core address), as opposed to a
  636.    `segmented' architecture (like that of the 80x86) in which
  637.    addresses are composed from a base-register/offset pair (segmented
  638.    designs are generally considered {cretinous}).
  639.   
  640.    Note that sense 1 (at least with respect to filesystems) is usually
  641.    used pejoratively, while sense 2 is a {Good Thing}.
  642.  
  643. :flat-ASCII: adj. Said of a text file that contains only 7-bit
  644.    ASCII characters and uses only ASCII-standard control characters
  645.    (that is, has no embedded codes specific to a particular text
  646.    formatter markup language, or output defice, and no
  647.    {meta}-characters).  Syn. {plain-ASCII}.  Compare
  648.    {flat-file}.
  649.  
  650. :flat-file: adj. A {flatten}ed representation of some database or
  651.    tree or network structure as a single file from which the
  652.    structure could implicitly be rebuilt, esp. one in {flat-ASCII}
  653.    form.
  654.  
  655. :flatten: vt. To remove structural information, esp. to filter
  656.    something with an implicit tree structure into a simple sequence of
  657.    leaves; also tends to imply mapping to {flat-ASCII}.  "This code
  658.    flattens an expression with parentheses into an equivalent
  659.    {canonical} form."
  660.  
  661. :flavor: n. 1. Variety, type, kind.  "DDT commands come in two
  662.    flavors."  "These lights come in two flavors, big red ones and
  663.    small green ones."  See {vanilla}.  2. The attribute that causes
  664.    something to be {flavorful}.  Usually used in the phrase "yields
  665.    additional flavor".  "This convention yields additional flavor by
  666.    allowing one to print text either right-side-up or upside-down."
  667.    See {vanilla}.  This usage was certainly reinforced by the
  668.    terminology of quantum chromodynamics, in which quarks (the
  669.    constituents of, e.g., protons) come in six flavors (up, down,
  670.    strange, charm, top, bottom) and three colors (red, blue, green)
  671.    --- however, hackish use of `flavor' at MIT predated QCD.  3. The
  672.    term for `class' (in the object-oriented sense) in the LISP Machine
  673.    Flavors system.  Though the Flavors design has been superseded
  674.    (notably by the Common LISP CLOS facility), the term `flavor' is
  675.    still used as a general synonym for `class' by some LISP hackers.
  676.  
  677. :flavorful: adj. Full of {flavor} (sense 2); esthetically pleasing.  See
  678.    {random} and {losing} for antonyms.  See also the entries for
  679.    {taste} and {elegant}.
  680.  
  681. :flippy: /flip'ee/ n. A single-sided floppy disk altered for
  682.    double-sided use by addition of a second write-notch, so called
  683.    because it must be flipped over for the second side to be
  684.    accessible.  No longer common.
  685.  
  686. :flood: [IRC] v. To dump large amounts of text onto an {IRC}
  687.    channel.  This is especially rude when the text is uninteresting
  688.    and the other users are trying to carry on a serious conversation.
  689.    
  690. :flowchart:: [techspeak] n. An archaic form of visual control-flow
  691.    specification employing arrows and `speech balloons' of various
  692.    shapes.  Hackers never use flowcharts, consider them extremely
  693.    silly, and associate them with {COBOL} programmers, {card
  694.    walloper}s, and other lower forms of life.  This attitude follows
  695.    from the observations that flowcharts (at least from a hacker's
  696.    point of view) are no easier to read than code, are less precise,
  697.    and tend to fall out of sync with the code (so that they either
  698.    obfuscate it rather than explaining it, or require extra
  699.    maintenance effort that doesn't improve the code).  See also
  700.    {pdl}, sense 3.
  701.  
  702. :flower key: [Mac users] n. See {feature key}.
  703.  
  704. :flush: v. 1. To delete something, usually superfluous, or to abort
  705.    an operation.  "All that nonsense has been flushed."  2. [UNIX/C]
  706.    To force buffered I/O to disk, as with an `fflush(3)' call.
  707.    This is *not* an abort or deletion as in sense 1, but a
  708.    demand for early completion!  3. To leave at the end of a day's
  709.    work (as opposed to leaving for a meal).  "I'm going to flush
  710.    now."  "Time to flush."  4. To exclude someone from an activity,
  711.    or to ignore a person.
  712.  
  713.    `Flush' was standard ITS terminology for aborting an output
  714.    operation; one spoke of the text that would have been printed, but
  715.    was not, as having been flushed.  It is speculated that this term
  716.    arose from a vivid image of flushing unwanted characters by hosing
  717.    down the internal output buffer, washing the characters away before
  718.    they could be printed.  The UNIX/C usage, on the other hand, was
  719.    propagated by the `fflush(3)' call in C's standard I/O library
  720.    (though it is reported to have been in use among BLISS programmers
  721.    at DEC and on Honeywell and IBM machines as far back as 1965).
  722.    UNIX/C hackers find the ITS usage confusing, and vice versa.
  723.  
  724. :flypage: /fli:'payj/ n. (alt. `fly page') A {banner}, sense
  725.    1.
  726.  
  727. :Flyspeck 3: n. Standard name for any font that is so tiny as to be
  728.    unreadable (by analogy with names like `Helvetica 10' for
  729.    10-point Helvetica).  Legal boilerplate is usually printed in
  730.    Flyspeck 3.
  731.  
  732. :flytrap: n. See {firewall machine}.
  733.  
  734. :FM: n. *Not* `Frequency Modulation' but rather an
  735.    abbreviation for `Fucking Manual', the back-formation from
  736.    {RTFM}. Used to refer to the manual itself in the {RTFM}.
  737.    "Have you seen the Networking FM lately?"
  738.  
  739. :fnord: [from the `Illuminatus Trilogy'] n. 1. A word used in
  740.    email and news postings to tag utterances as surrealist mind-play
  741.    or humor, esp. in connection with {Discordianism} and elaborate
  742.    conspiracy theories.  "I heard that David Koresh is sharing an
  743.    apartment in Argentina with Hitler. (Fnord.)", "Where can I fnord
  744.    get the Principia Discordia from?"  2. A metasyntactic variable,
  745.    commonly used by hackers with ties to {Discordianism} or the
  746.    {Church of the SubGenius}.
  747.  
  748. :FOAF: // [USENET] n. Acronym for `Friend Of A Friend'.  The
  749.    source of an unverified, possibly untrue story.  This term was not
  750.    originated by hackers (it is used in Jan Brunvand's books on urban
  751.    folklore), but is much better recognized on USENET and elsewhere
  752.    than in mainstream English.
  753.  
  754. :FOD: /fod/ v. [Abbreviation for `Finger of Death', originally a
  755.    spell-name from fantasy gaming] To terminate with extreme prejudice
  756.    and with no regard for other people.  From {MUD}s where the
  757.    wizard command `FOD <player>' results in the immediate and total
  758.    death of <player>, usually as punishment for obnoxious behavior.
  759.    This usage migrated to other circumstances, such as "I'm going to fod
  760.    the process that is burning all the cycles."  Compare {gun}.
  761.  
  762.    In aviation, FOD means Foreign Object Damage, e.g., what happens
  763.    when a jet engine sucks up a rock on the runway or a bird in
  764.    flight.  Finger of Death is a distressingly apt description of
  765.    what this generally does to the engine.
  766.  
  767. :fold case: v. See {smash case}.  This term tends to be used
  768.    more by people who don't mind that their tools smash case.  It also
  769.    connotes that case is ignored but case distinctions in data
  770.    processed by the tool in question aren't destroyed.
  771.  
  772. :followup: n. On USENET, a {posting} generated in response to
  773.    another posting (as opposed to a {reply}, which goes by email
  774.    rather than being broadcast).  Followups include the ID of the
  775.    {parent message} in their headers; smart news-readers can use
  776.    this information to present USENET news in `conversation' sequence
  777.    rather than order-of-arrival.  See {thread}.
  778.  
  779. :fontology: [XEROX PARC] n. The body of knowledge dealing with the
  780.    construction and use of new fonts (e.g., for window systems and
  781.    typesetting software).  It has been said that fontology
  782.    recapitulates file-ogeny.
  783.  
  784.    [Unfortunately, this reference to the embryological dictum that
  785.    "Ontogeny recapitulates phylogeny" is not merely a joke.  On the
  786.    Macintosh, for example, System 7 has to go through contortions to
  787.    compensate for an earlier design error that created a whole
  788.    different set of abstractions for fonts parallel to `files' and
  789.    `folders' --- ESR]
  790.  
  791. :foo: /foo/ 1. interj. Term of disgust.  2. Used very generally
  792.    as a sample name for absolutely anything, esp. programs and files
  793.    (esp. scratch files).  3. First on the standard list of
  794.    {metasyntactic variable}s used in syntax examples.  See also
  795.    {bar}, {baz}, {qux}, {quux}, {corge}, {grault},
  796.    {garply}, {waldo}, {fred}, {plugh}, {xyzzy},
  797.    {thud}.
  798.  
  799.    The etymology of hackish `foo' is obscure.  When used in
  800.    connection with `bar' it is generally traced to the WWII-era Army
  801.    slang acronym FUBAR (`Fucked Up Beyond All Recognition'), later
  802.    bowdlerized to {foobar}.  (See also {FUBAR}).
  803.  
  804.    However, the use of the word `foo' itself has more complicated
  805.    antecedents, including a long history in comic strips and cartoons.
  806.    The old "Smokey Stover" comic strips by Bill Holman often
  807.    included the word `FOO', in particular on license plates of cars;
  808.    allegedly, `FOO' and `BAR' also occurred in Walt Kelly's
  809.    "Pogo" strips.  In the 1938 cartoon "The Daffy Doc", a very
  810.    early version of Daffy Duck holds up a sign saying "SILENCE IS
  811.    FOO!"; oddly, this seems to refer to some approving or positive
  812.    affirmative use of foo.  It has been suggested that this might be
  813.    related to the Chinese word `fu' (sometimes transliterated
  814.    `foo'), which can mean "happiness" when spoken with the proper
  815.    tone (the lion-dog guardians flanking the steps of many Chinese
  816.    restaurants are properly called "fu dogs").
  817.  
  818.    Earlier versions of this entry suggested the possibility that
  819.    hacker usage actually sprang from `FOO, Lampoons and Parody',
  820.    the title of a comic book first issued in September 1958, a joint
  821.    project of Charles and Robert Crumb.  Though Robert Crumb (then in
  822.    his mid-teens) later became one of the most important and
  823.    influential artists in underground comics, this venture was hardly
  824.    a success; indeed, the brothers later burned most of the existing
  825.    copies in disgust.  The title FOO was featured in large letters on
  826.    the front cover.  However, very few copies of this comic actually
  827.    circulated, and students of Crumb's `oeuvre' have established
  828.    that this title was a reference to the earlier Smokey Stover
  829.    comics.
  830.  
  831.    An old-time member reports that in the 1959 `Dictionary of the
  832.    TMRC Language', compiled at {TMRC} there was an entry that went
  833.    something like this:
  834.  
  835.      FOO: The first syllable of the sacred chant phrase "FOO MANE PADME
  836.      HUM."  Our first obligation is to keep the foo counters turning.
  837.  
  838.    For more about the legendary foo counters, see {TMRC}.  Almost
  839.    the entire staff of what became the MIT AI LAB was involved with
  840.    TMRC, and probably picked the word up there.
  841.  
  842.    Very probably, hackish `foo' had no single origin and derives
  843.    through all these channels from Yiddish `feh' and/or English
  844.    `fooey'.
  845.  
  846. :foobar: n. Another common {metasyntactic variable}; see {foo}.
  847.    Hackers do *not* generally use this to mean {FUBAR} in
  848.    either the slang or jargon sense.
  849.  
  850. :fool: n. As used by hackers, specifically describes a person who
  851.    habitually reasons from obviously or demonstrably incorrect
  852.    premises and cannot be persuaded by evidence to do otherwise; it is
  853.    not generally used in its other senses, i.e., to describe a person
  854.    with a native incapacity to reason correctly, or a clown.  Indeed,
  855.    in hackish experience many fools are capable of reasoning all too
  856.    effectively in executing their errors.  See also {cretin},
  857.    {loser}, {fool file, the}.
  858.  
  859. :fool file, the: [USENET] n. A notional repository of all the most
  860.    dramatically and abysmally stupid utterances ever.  An entire
  861.    subgenre of {sig block}s consists of the header "From the fool
  862.    file:" followed by some quote the poster wishes to represent as an
  863.    immortal gem of dimwittery; for this usage to be really effective,
  864.    the quote has to be so obviously wrong as to be laughable.  More
  865.    than one USENETter has achieved an unwanted notoriety by being
  866.    quoted in this way.
  867.  
  868. :Foonly: n. 1. The {PDP-10} successor that was to have been
  869.    built by the Super Foonly project at the Stanford Artificial
  870.    Intelligence Laboratory along with a new operating system.  The
  871.    intention was to leapfrog from the old DEC timesharing system SAIL
  872.    was then running to a new generation, bypassing TENEX which at that
  873.    time was the ARPANET standard.  ARPA funding for both the Super
  874.    Foonly and the new operating system was cut in 1974.  Most of the
  875.    design team went to DEC and contributed greatly to the design of
  876.    the PDP-10 model KL10.  2. The name of the company formed by Dave
  877.    Poole, one of the principal Super Foonly designers, and one of
  878.    hackerdom's more colorful personalities.  Many people remember the
  879.    parrot which sat on Poole's shoulder and was a regular companion.
  880.    3. Any of the machines built by Poole's company.  The first was the
  881.    F-1 (a.k.a.  Super Foonly), which was the computational engine used
  882.    to create the graphics in the movie "TRON".  The F-1 was the
  883.    fastest PDP-10 ever built, but only one was ever made.  The effort
  884.    drained Foonly of its financial resources, and the company turned
  885.    towards building smaller, slower, and much less expensive
  886.    machines.  Unfortunately, these ran not the popular {TOPS-20}
  887.    but a TENEX variant called Foonex; this seriously limited their
  888.    market.  Also, the machines shipped were actually wire-wrapped
  889.    engineering prototypes requiring individual attention from more
  890.    than usually competent site personnel, and thus had significant
  891.    reliability problems.  Poole's legendary temper and unwillingness
  892.    to suffer fools gladly did not help matters.  By the time of the
  893.    Jupiter project cancellation in 1983, Foonly's proposal to build
  894.    another F-1 was eclipsed by the {Mars}, and the company never
  895.    quite recovered.  See the {Mars} entry for the continuation and
  896.    moral of this story.
  897.  
  898. :footprint: n. 1. The floor or desk area taken up by a piece of
  899.    hardware.  2. [IBM] The audit trail (if any) left by a crashed
  900.    program (often in plural, `footprints').  See also
  901.    {toeprint}.
  902.  
  903. :for free: adj. Said of a capability of a programming language or
  904.    hardware equipment that is available by its design without needing
  905.    cleverness to implement: "In APL, we get the matrix operations for
  906.    free."  "And owing to the way revisions are stored in this
  907.    system, you get revision trees for free."  The term usually refers
  908.    to a serendipitous feature of doing things a certain way (compare
  909.    {big win}), but it may refer to an intentional but secondary
  910.    feature.
  911.  
  912. :for the rest of us: [from the Mac slogan "The computer for the
  913.    rest of us"] adj. 1. Used to describe a {spiffy} product whose
  914.    affordability shames other comparable products, or (more often)
  915.    used sarcastically to describe {spiffy} but very overpriced
  916.    products.  2. Describes a program with a limited interface,
  917.    deliberately limited capabilities, non-orthogonality, inability to
  918.    compose primitives, or any other limitation designed to not
  919.    `confuse' a naive user.  This places an upper bound on how far
  920.    that user can go before the program begins to get in the way of the
  921.    task instead of helping accomplish it.  Used in reference to
  922.    Macintosh software which doesn't provide obvious capabilities
  923.    because it is thought that the poor lusers might not be able to
  924.    handle them.  Becomes `the rest of *them*' when used in
  925.    third-party reference; thus, "Yes, it is an attractive program,
  926.    but it's designed for The Rest Of Them" means a program that
  927.    superficially looks neat but has no depth beyond the surface flash.
  928.    See also {WIMP environment}, {Macintrash},
  929.    {point-and-drool interface}, {user-friendly}.
  930.  
  931. :for values of: [MIT] A common rhetorical maneuver at MIT is to use
  932.    any of the canonical {random numbers} as placeholders for
  933.    variables.  "The max function takes 42 arguments, for arbitrary
  934.    values of 42."  "There are 69 ways to leave your lover, for
  935.    69 = 50."  This is especially likely when the speaker has uttered
  936.    a random number and realizes that it was not recognized as such,
  937.    but even `non-random' numbers are occasionally used in this
  938.    fashion.  A related joke is that pi equals 3 --- for
  939.    small values of pi and large values of 3.
  940.  
  941.    Historical note: this usage probably derives from the programming
  942.    language MAD (Michigan Algorithm Decoder), an Algol-like language
  943.    that was the most common choice among mainstream (non-hacker) users
  944.    at MIT in the mid-60s.  It had a control structure FOR VALUES OF X
  945.    = 3, 7, 99 DO ... that would repeat the indicated instructions for
  946.    each value in the list (unlike the usual FOR that only works for
  947.    arithmetic sequences of values).  MAD is long extinct, but similar
  948.    for-constructs still flourish (e.g., in UNIX's shell languages).
  949.  
  950. :fora: pl.n. Plural of {forum}.
  951.  
  952. :foreground: [UNIX] vt. To bring a task to the top of one's
  953.    {stack} for immediate processing, and hackers often use it in
  954.    this sense for non-computer tasks. "If your presentation is due
  955.    next week, I guess I'd better foreground writing up the design
  956.    document."
  957.  
  958.    Technically, on a time-sharing system, a task executing in
  959.    foreground is one able to accept input from and return output to
  960.    the user; oppose {background}.  Nowadays this term is primarily
  961.    associated with {{UNIX}}, but it appears first to have been used
  962.    in this sense on OS/360.  Normally, there is only one foreground
  963.    task per terminal (or terminal window); having multiple processes
  964.    simultaneously reading the keyboard is a good way to {lose}.
  965.  
  966. :fork bomb: [UNIX] n. A particular species of {wabbit} that can
  967.    be written in one line of C (`main() {for(;;)fork();}') or shell
  968.    (`$0 & $0 &') on any UNIX system, or occasionally created by an
  969.    egregious coding bug.  A fork bomb process `explodes' by
  970.    recursively spawning copies of itself (using the UNIX system call
  971.    `fork(2)').  Eventually it eats all the process table entries
  972.    and effectively wedges the system.  Fortunately, fork bombs are
  973.    relatively easy to spot and kill, so creating one deliberately
  974.    seldom accomplishes more than to bring the just wrath of the gods
  975.    down upon the perpetrator.  See also {logic bomb}.
  976.  
  977. :forked: [UNIX; prob. influenced by a mainstream expletive] adj.
  978.    Terminally slow, or dead.  Originated when one system was slowed to
  979.    a snail's pace by an inadvertent {fork bomb}.
  980.  
  981. :Fortrash: /for'trash/ n. Hackerism for the FORTRAN (FORmula
  982.    TRANslator) language, referring to its primitive design, gross and
  983.    irregular syntax, limited control constructs, and slippery,
  984.    exception-filled semantics.
  985.  
  986. :fortune cookie: [WAITS, via UNIX] n. A random quote, item of
  987.    trivia, joke, or maxim printed to the user's tty at login time or
  988.    (less commonly) at logout time.  Items from this lexicon have often
  989.    been used as fortune cookies.  See {cookie file}.
  990.  
  991. :forum: n. [USENET, GEnie, CI$; pl. `fora' or `forums'] Any
  992.    discussion group accessible through a dial-in {BBS}, a
  993.    {mailing list}, or a {newsgroup} (see {network, the}).  A
  994.    forum functions much like a bulletin board; users submit
  995.    {posting}s for all to read and discussion ensues.  Contrast
  996.    real-time chat via {talk mode} or point-to-point personal
  997.    {email}.
  998.  
  999. :fossil: n. 1. In software, a misfeature that becomes
  1000.    understandable only in historical context, as a remnant of times
  1001.    past retained so as not to break compatibility.  Example: the
  1002.    retention of octal as default base for string escapes in {C}, in
  1003.    spite of the better match of hexadecimal to ASCII and modern
  1004.    byte-addressable architectures.  See {dusty deck}.  2. More
  1005.    restrictively, a feature with past but no present utility.
  1006.    Example: the force-all-caps (LCASE) bits in the V7 and {BSD}
  1007.    UNIX tty driver, designed for use with monocase terminals.  (In a
  1008.    perversion of the usual backward-compatibility goal, this
  1009.    functionality has actually been expanded and renamed in some later
  1010.    {USG UNIX} releases as the IUCLC and OLCUC bits.)  3. The FOSSIL
  1011.    (Fido/Opus/Seadog Standard Interface Level) driver specification
  1012.    for serial-port access to replace the {brain-dead} routines in
  1013.    the IBM PC ROMs.  Fossils are used by most MS-DOS {BBS} software
  1014.    in preference to the `supported' ROM routines, which do not support
  1015.    interrupt-driven operation or setting speeds above 9600; the use of
  1016.    a semistandard FOSSIL library is preferable to the {bare metal}
  1017.    serial port programming otherwise required.  Since the FOSSIL
  1018.    specification allows additional functionality to be hooked in,
  1019.    drivers that use the {hook} but do not provide serial-port
  1020.    access themselves are named with a modifier, as in `video
  1021.    fossil'.
  1022.  
  1023. :four-color glossies: 1. Literature created by {marketroid}s
  1024.    that allegedly contains technical specs but which is in fact as
  1025.    superficial as possible without being totally {content-free}.
  1026.    "Forget the four-color glossies, give me the tech ref manuals."
  1027.    Often applied as an indication of superficiality even when the
  1028.    material is printed on ordinary paper in black and white.
  1029.    Four-color-glossy manuals are *never* useful for finding a
  1030.    problem.  2. [rare] Applied by extension to manual pages that don't
  1031.    contain enough information to diagnose why the program doesn't
  1032.    produce the expected or desired output.
  1033.  
  1034. :fragile: adj. Syn {brittle}.
  1035.  
  1036. :fred: n. 1. The personal name most frequently used as a
  1037.    {metasyntactic variable} (see {foo}).  Allegedly popular
  1038.    because it's easy for a non-touch-typist to type on a standard
  1039.    QWERTY keyboard.  Unlike {J. Random Hacker} or `J. Random
  1040.    Loser', this name has no positive or negative loading (but see
  1041.    {Mbogo, Dr. Fred}).  See also {barney}.  2. An acronym for
  1042.    `Flipping Ridiculous Electronic Device'; other F-verbs may be
  1043.    substituted for `flipping'.
  1044.  
  1045. :frednet: /fred'net/ n. Used to refer to some {random} and
  1046.    uncommon protocol encountered on a network.  "We're implementing
  1047.    bridging in our router to solve the frednet problem."
  1048.  
  1049. :freeware: n. Free software, often written by enthusiasts and
  1050.    distributed by users' groups, or via electronic mail, local
  1051.    bulletin boards, {USENET}, or other electronic media.  At one
  1052.    time, `freeware' was a trademark of Andrew Fluegelman, the author
  1053.    of the well-known MS-DOS comm program PC-TALK III.  It wasn't
  1054.    enforced after his mysterious disappearance and presumed death
  1055.    in 1984.  See {shareware}.
  1056.  
  1057. :freeze: v. To lock an evolving software distribution or document
  1058.    against changes so it can be released with some hope of stability.
  1059.    Carries the strong implication that the item in question will
  1060.    `unfreeze' at some future date.  "OK, fix that bug and we'll
  1061.    freeze for release."
  1062.  
  1063.    There are more specific constructions on this term.  A `feature
  1064.    freeze', for example, locks out modifications intended to introduce
  1065.    new features but still allows bugfixes and completion of existing
  1066.    features; a `code freeze' connotes no more changes at all.  At
  1067.    Sun Microsystems and elsewhere, one may also hear references to
  1068.    `code slush' --- that is, an almost-but-not-quite frozen state.
  1069.  
  1070. :fried: adj. 1. Non-working due to hardware failure; burnt out.
  1071.    Especially used of hardware brought down by a `power glitch' (see
  1072.    {glitch}), {drop-outs}, a short, or some other electrical
  1073.    event.  (Sometimes this literally happens to electronic circuits!
  1074.    In particular, resistors can burn out and transformers can melt
  1075.    down, emitting noxious smoke --- see {friode}, {SED} and
  1076.    {LER}.  However, this term is also used metaphorically.)
  1077.    Compare {frotzed}.  2. Of people, exhausted.  Said particularly
  1078.    of those who continue to work in such a state.  Often used as an
  1079.    explanation or excuse.  "Yeah, I know that fix destroyed the file
  1080.    system, but I was fried when I put it in."  Esp. common in
  1081.    conjunction with `brain': "My brain is fried today, I'm very
  1082.    short on sleep."
  1083.  
  1084. :frink: /frink/ v. The unknown ur-verb, fill in your own meaning.
  1085.    Found esp. on the USENET newsgroup alt.fan.lemur, where it is
  1086.    said that the lemurs know what `frink' means, but they aren't
  1087.    telling.  Compare {gorets}.
  1088.  
  1089. :friode: /fri:'ohd/ [TMRC] n. A reversible (that is, fused or
  1090.    blown) diode.  Compare {fried}; see also {SED}, {LER}.
  1091.  
  1092. :fritterware: n. An excess of capability that serves no productive
  1093.    end.  The canonical example is font-diddling software on the Mac
  1094.    (see {macdink}); the term describes anything that eats huge
  1095.    amounts of time for quite marginal gains in function but seduces
  1096.    people into using it anyway.  See also {window shopping}.
  1097.  
  1098. :frob: /frob/ 1. n. [MIT] The {TMRC} definition was "FROB = a
  1099.    protruding arm or trunnion"; by metaphoric extension, a `frob'
  1100.    is any random small thing; an object that you can comfortably hold
  1101.    in one hand; something you can frob (sense 2).  See {frobnitz}.
  1102.    2. vt.  Abbreviated form of {frobnicate}.  3. [from the {MUD}
  1103.    world] A command on some MUDs that changes a player's experience
  1104.    level (this can be used to make wizards); also, to request
  1105.    {wizard} privileges on the `professional courtesy' grounds
  1106.    that one is a wizard elsewhere.  The command is actually
  1107.    `frobnicate' but is universally abbreviated to the shorter
  1108.    form.
  1109.  
  1110. :frobnicate: /frob'ni-kayt/ vt. [Poss. derived from
  1111.    {frobnitz}, and usually abbreviated to {frob}, but
  1112.    `frobnicate' is recognized as the official full form.] To
  1113.    manipulate or adjust, to tweak.  One frequently frobs bits or other
  1114.    2-state devices.  Thus: "Please frob the light switch" (that is,
  1115.    flip it), but also "Stop frobbing that clasp; you'll break it".
  1116.    One also sees the construction `to frob a frob'.  See {tweak}
  1117.    and {twiddle}.
  1118.  
  1119.    Usage: frob, twiddle, and tweak sometimes connote points along a
  1120.    continuum.  `Frob' connotes aimless manipulation; `twiddle'
  1121.    connotes gross manipulation, often a coarse search for a proper
  1122.    setting; `tweak' connotes fine-tuning.  If someone is turning a
  1123.    knob on an oscilloscope, then if he's carefully adjusting it, he is
  1124.    probably tweaking it; if he is just turning it but looking at the
  1125.    screen, he is probably twiddling it; but if he's just doing it
  1126.    because turning a knob is fun, he's frobbing it.  The variant
  1127.    `frobnosticate' has been recently reported.
  1128.  
  1129. :frobnitz: /frob'nits/, plural `frobnitzem' /frob'nit-zm/ or
  1130.    `frob-ni' /frob'-ni:/ [TMRC] n. An unspecified physical object, a
  1131.    widget.  Also refers to electronic black boxes.  This rare form is
  1132.    usually abbreviated to `frotz', or more commonly to {frob}.
  1133.    Also used are `frobnule' (/frob'n[y]ool/) and `frobule'
  1134.    (/frob'yool/).  Starting perhaps in 1979, `frobozz'
  1135.    /fr*-boz'/ (plural: `frobbotzim' /fr*-bot'zm/) has also
  1136.    become very popular, largely through its exposure as a name via
  1137.    {Zork}.  These variants can also be applied to nonphysical
  1138.    objects, such as data structures.
  1139.  
  1140.    Pete Samson, compiler of the original {TMRC} lexicon, adds,
  1141.    "Under the TMRC [railroad] layout were many storage boxes, managed
  1142.    (in 1958) by David R. Sawyer.  Several had fanciful designations
  1143.    written on them, such as `Frobnitz Coil Oil'.  Perhaps DRS intended
  1144.    Frobnitz to be a proper name, but the name was quickly taken for
  1145.    the thing".  This was almost certainly the origin of the
  1146.    term.
  1147.  
  1148. :frog: alt. `phrog' 1. interj. Term of disgust (we seem to have
  1149.    a lot of them).  2. Used as a name for just about anything.  See
  1150.    {foo}.  3. n. Of things, a crock.  4. n. Of people, somewhere
  1151.    in between a turkey and a toad.  5. `froggy': adj. Similar to
  1152.    `bagbiting' (see {bagbiter}), but milder.  "This froggy
  1153.    program is taking forever to run!"
  1154.  
  1155. :frogging: [University of Waterloo] v. 1. Partial corruption of a
  1156.    text file or input stream by some bug or consistent glitch, as
  1157.    opposed to random events like line noise or media failures.  Might
  1158.    occur, for example, if one bit of each incoming character on a tty
  1159.    were stuck, so that some characters were correct and others were
  1160.    not.  See {terminak} for a historical example.  2. By extension,
  1161.    accidental display of text in a mode where the output device emits
  1162.    special symbols or mnemonics rather than conventional ASCII.  This
  1163.    often happens, for example, when using a terminal or comm program
  1164.    on a device like an IBM PC with a special `high-half' character set
  1165.    and with the bit-parity assumption wrong.  A hacker sufficiently
  1166.    familiar with ASCII bit patterns might be able to read the display
  1167.    anyway.
  1168.  
  1169. :front end: n. 1. An intermediary computer that does set-up and
  1170.    filtering for another (usually more powerful but less friendly)
  1171.    machine (a `back end').  2. What you're talking to when you
  1172.    have a conversation with someone who is making replies without
  1173.    paying attention.  "Look at the dancing elephants!"  "Uh-huh."
  1174.    "Do you know what I just said?"  "Sorry, you were talking to the
  1175.    front end."  See also {fepped out}.  3. Software that provides
  1176.    an interface to another program `behind' it, which may not be as
  1177.    user-friendly.  Probably from analogy with hardware front-ends (see
  1178.    sense 1) that interfaced with mainframes.
  1179.  
  1180. :frotz: /frots/ 1. n. See {frobnitz}.  2. `mumble frotz': An
  1181.    interjection of mildest disgust.
  1182.  
  1183. :frotzed: /frotst/ adj. {down} because of hardware problems.  Compare
  1184.    {fried}.  A machine that is merely frotzed may be fixable
  1185.    without replacing parts, but a fried machine is more seriously
  1186.    damaged.
  1187.  
  1188. :frowney: n. (alt. `frowney face')  See {emoticon}.
  1189.  
  1190. :fry: 1. vi. To fail.  Said especially of smoke-producing hardware
  1191.    failures.  More generally, to become non-working.  Usage: never
  1192.    said of software, only of hardware and humans.  See {fried},
  1193.    {magic smoke}.  2. vt. To cause to fail; to {roach}, {toast},
  1194.    or {hose} a piece of hardware.  Never used of software or humans,
  1195.    but compare {fried}.
  1196.  
  1197. :FTP: /F-T-P/, *not* /fit'ip/ 1. [techspeak] n. The File
  1198.    Transfer Protocol for transmitting files between systems on the
  1199.    Internet.  2. vt. To {beam} a file using the File Transfer
  1200.    Protocol.  3. Sometimes used as a generic even for file transfers
  1201.    not using {FTP}.  "Lemme get a copy of `Wuthering
  1202.    Heights' ftp'd from uunet."
  1203.  
  1204. :FUBAR: n. The Failed UniBus Address Register in a VAX.  A good
  1205.    example of how jargon can occasionally be snuck past the {suit}s;
  1206.    see {foobar}, and {foo} for a fuller etymology.
  1207.  
  1208. :fuck me harder: excl. Sometimes uttered in response to egregious
  1209.    misbehavior, esp. in software, and esp. of misbehaviors which
  1210.    seem unfairly persistent (as though designed in by the imp of the
  1211.    perverse).  Often theatrically elaborated: "Aiighhh! Fuck me with
  1212.    a piledriver and 16 feet of curare-tipped wrought-iron fence
  1213.    *and no lubricants*!" The phrase is sometimes heard
  1214.    abbreviated `FMH' in polite company.
  1215.  
  1216.    [This entry is an extreme example of the hackish habit of coining
  1217.    elaborate and evocative terms for lossage. Here we see a quite
  1218.    self-conscious parody of mainstream expletives that has become a
  1219.    running gag in part of the hacker culture; it illustrates the
  1220.    hackish tendency to turn any situation, even one of extreme
  1221.    frustration, into an intellectual game (the point being, in this
  1222.    case, to creatively produce a long-winded description of the
  1223.    most anatomically absurd mental image possible --- the short forms
  1224.    implicitly allude to all the ridiculous long forms ever spoken).
  1225.    Scatological language is actually relatively uncommon among
  1226.    hackers, and there was some controversy over whether this entry
  1227.    ought to be included at all.  As it reflects a live usage
  1228.    recognizably peculiar to the hacker culture, we feel it is
  1229.    in the hackish spirit of truthfulness and opposition to all
  1230.    forms of censorship to record it here. --- ESR & GLS]
  1231.  
  1232. :FUD: /fuhd/ n. Defined by Gene Amdahl after he left IBM to found
  1233.    his own company: "FUD is the fear, uncertainty, and doubt that IBM
  1234.    sales people instill in the minds of potential customers who might
  1235.    be considering [Amdahl] products."  The idea, of course, was to
  1236.    persuade them to go with safe IBM gear rather than with
  1237.    competitors' equipment.  This implicit coercion was traditionally
  1238.    accomplished by promising that Good Things would happen to people
  1239.    who stuck with IBM, but Dark Shadows loomed over the future of
  1240.    competitors' equipment or software.  See {IBM}.
  1241.  
  1242. :FUD wars: /fuhd worz/ n. [from {FUD}] Political posturing engaged in
  1243.    by hardware and software vendors ostensibly committed to
  1244.    standardization but actually willing to fragment the market to
  1245.    protect their own shares.  The UNIX International vs. OSF conflict
  1246.    is but one outstanding example.
  1247.  
  1248. :fudge: 1. vt. To perform in an incomplete but marginally acceptable
  1249.    way, particularly with respect to the writing of a program.  "I
  1250.    didn't feel like going through that pain and suffering, so I fudged
  1251.    it --- I'll fix it later."  2. n. The resulting code.
  1252.  
  1253. :fudge factor: n. A value or parameter that is varied in an ad hoc way
  1254.    to produce the desired result.  The terms `tolerance' and
  1255.    {slop} are also used, though these usually indicate a one-sided
  1256.    leeway, such as a buffer that is made larger than necessary
  1257.    because one isn't sure exactly how large it needs to be, and it is
  1258.    better to waste a little space than to lose completely for not
  1259.    having enough.  A fudge factor, on the other hand, can often be
  1260.    tweaked in more than one direction.  A good example is the `fuzz'
  1261.    typically allowed in floating-point calculations: two numbers being
  1262.    compared for equality must be allowed to differ by a small amount;
  1263.    if that amount is too small, a computation may never terminate,
  1264.    while if it is too large, results will be needlessly inaccurate.
  1265.    Fudge factors are frequently adjusted incorrectly by programmers
  1266.    who don't fully understand their import.  See also {coefficient
  1267.    of X}.
  1268.  
  1269. :fuel up: vi. To eat or drink hurriedly in order to get back to
  1270.    hacking.  "Food-p?"  "Yeah, let's fuel up."  "Time for a
  1271.    {great-wall}!"  See also {{oriental food}}.
  1272.  
  1273. :fum: [XEROX PARC] n. At PARC, often the third of the standard
  1274.    {metasyntactic variable}s (after {foo} and {bar}).  Competes
  1275.    with {baz}, which is more common outside PARC.
  1276.  
  1277. :funky: adj. Said of something that functions, but in a slightly
  1278.    strange, klugey way.  It does the job and would be difficult to
  1279.    change, so its obvious non-optimality is left alone.  Often used to
  1280.    describe interfaces.  The more bugs something has that nobody has
  1281.    bothered to fix because workarounds are easier, the funkier it is.
  1282.    {TECO} and UUCP are funky.  The Intel i860's exception handling is
  1283.    extraordinarily funky.  Most standards acquire funkiness as they
  1284.    age.  "The new mailer is installed, but is still somewhat funky;
  1285.    if it bounces your mail for no reason, try resubmitting it."
  1286.    "This UART is pretty funky.  The data ready line is active-high in
  1287.    interrupt mode and active-low in DMA mode."
  1288.  
  1289. :funny money: n. 1. Notional `dollar' units of computing time
  1290.    and/or storage handed to students at the beginning of a computer
  1291.    course; also called `play money' or `purple money' (in implicit
  1292.    opposition to real or `green' money).  In New Zealand and Germany
  1293.    the odd usage `paper money' has been recorded; in Germany, the
  1294.    particularly amusing synonym `transfer ruble' commemmorates the
  1295.    funny money used for trade between COMECON countries back when the
  1296.    Soviet Bloc still existed.  When your funny money ran out, your
  1297.    account froze and you needed to go to a professor to get more.
  1298.    Fortunately, the plunging cost of timesharing cycles has made this
  1299.    less common.  The amounts allocated were almost invariably too
  1300.    small, even for the non-hackers who wanted to slide by with minimum
  1301.    work.  In extreme cases, the practice led to small-scale black
  1302.    markets in bootlegged computer accounts.  2. By extension, phantom
  1303.    money or quantity tickets of any kind used as a resource-allocation
  1304.    hack within a system.  Antonym: `real money'.
  1305.  
  1306. :fuzzball: [TCP/IP hackers] n. A DEC LSI-11 running a particular
  1307.    suite of homebrewed software written by Dave Mills and assorted
  1308.    co-conspirators, used in the early 1980s for Internet protocol
  1309.    testbedding and experimentation.  These were used as NSFnet
  1310.    backbone sites in its early 56KB-line days; a few are still active
  1311.    on the Internet as of early 1991, doing odd jobs such as network
  1312.    time service.
  1313.  
  1314. = G =
  1315. =====
  1316.  
  1317. :G: [SI] pref.,suff. See {{quantifiers}}.
  1318.  
  1319. :gabriel: /gay'bree-*l/ [for Dick Gabriel, SAIL LISP hacker and
  1320.    volleyball fanatic] n. An unnecessary (in the opinion of the
  1321.    opponent) stalling tactic, e.g., tying one's shoelaces or combing
  1322.    one's hair repeatedly, asking the time, etc.  Also used to refer to
  1323.    the perpetrator of such tactics.  Also, `pulling a Gabriel',
  1324.    `Gabriel mode'.
  1325.  
  1326. :gag: vi. Equivalent to {choke}, but connotes more disgust. "Hey,
  1327.    this is FORTRAN code.  No wonder the C compiler gagged."  See also
  1328.    {barf}.
  1329.  
  1330. :gang bang: n. The use of large numbers of loosely coupled
  1331.    programmers in an attempt to wedge a great many features into a
  1332.    product in a short time.  Though there have been memorable gang
  1333.    bangs (e.g., that over-the-weekend assembler port mentioned in
  1334.    Steven Levy's `Hackers'), most are perpetrated by large
  1335.    companies trying to meet deadlines; the inevitable result is
  1336.    enormous buggy masses of code entirely lacking in
  1337.    {orthogonal}ity.  When market-driven managers make a list of all
  1338.    the features the competition has and assign one programmer to
  1339.    implement each, the probability of maintaining a coherent (or even
  1340.    functional) design goes infinitesimal.  See also {firefighting},
  1341.    {Mongolian Hordes technique}, {Conway's Law}.
  1342.  
  1343. :garbage collect: vi. (also `garbage collection', n.) See {GC}.
  1344.  
  1345. :garply: /gar'plee/ [Stanford] n. Another metasyntactic variable (see
  1346.    {foo}); once popular among SAIL hackers.
  1347.  
  1348. :gas: [as in `gas chamber'] 1. interj. A term of disgust and
  1349.    hatred, implying that gas should be dispensed in generous
  1350.    quantities, thereby exterminating the source of irritation.  "Some
  1351.    loser just reloaded the system for no reason!  Gas!"  2. interj. A
  1352.    suggestion that someone or something ought to be flushed out of
  1353.    mercy.  "The system's getting {wedged} every few minutes.
  1354.    Gas!"  3. vt.  To {flush} (sense 1).  "You should gas that old
  1355.    crufty software."  4. [IBM] n. Dead space in nonsequentially
  1356.    organized files that was occupied by data that has since been
  1357.    deleted; the compression operation that removes it is called
  1358.    `degassing' (by analogy, perhaps, with the use of the same term
  1359.    in vacuum technology).  5. [IBM] n. Empty space on a disk that has
  1360.    been clandestinely allocated against future need.
  1361.  
  1362. :gaseous: adj. Deserving of being {gas}sed.  Disseminated by
  1363.    Geoff Goodfellow while at SRI; became particularly popular after
  1364.    the Moscone-Milk killings in San Francisco, when it was learned
  1365.    that the defendant Dan White (a politician who had supported
  1366.    Proposition 7) would get the gas chamber under Proposition 7 if
  1367.    convicted of first-degree murder (he was eventually convicted of
  1368.    manslaughter).
  1369.  
  1370. :GC: /G-C/ [from LISP terminology; `Garbage Collect']
  1371.    1. vt. To clean up and throw away useless things.  "I think I'll
  1372.    GC the top of my desk today."  When said of files, this is
  1373.    equivalent to {GFR}.  2. vt. To recycle, reclaim, or put to
  1374.    another use.  3. n. An instantiation of the garbage collector
  1375.    process.
  1376.  
  1377.    `Garbage collection' is computer-science techspeak for a
  1378.    particular class of strategies for dynamically but transparently
  1379.    reallocating computer memory (i.e., without requiring explicit
  1380.    allocation and deallocation by higher-level software).  One such
  1381.    strategy involves periodically scanning all the data in memory and
  1382.    determining what is no longer accessible; useless data items are
  1383.    then discarded so that the memory they occupy can be recycled and
  1384.    used for another purpose.  Implementations of the LISP language
  1385.    usually use garbage collection.
  1386.  
  1387.    In jargon, the full phrase is sometimes heard but the {abbrev} is
  1388.    more frequently used because it is shorter.  Note that there is an
  1389.    ambiguity in usage that has to be resolved by context: "I'm going
  1390.    to garbage-collect my desk" usually means to clean out the
  1391.    drawers, but it could also mean to throw away or recycle the desk
  1392.    itself.
  1393.  
  1394. :GCOS:: /jee'kohs/ n. A {quick-and-dirty} {clone} of
  1395.    System/360 DOS that emerged from GE around 1970; originally called
  1396.    GECOS (the General Electric Comprehensive Operating System).  Later
  1397.    kluged to support primitive timesharing and transaction processing.
  1398.    After the buyout of GE's computer division by Honeywell, the name
  1399.    was changed to General Comprehensive Operating System (GCOS).
  1400.    Other OS groups at Honeywell began referring to it as `God's Chosen
  1401.    Operating System', allegedly in reaction to the GCOS crowd's
  1402.    uninformed and snotty attitude about the superiority of their
  1403.    product.  All this might be of zero interest, except for two facts:
  1404.    (1) The GCOS people won the political war, and this led in the
  1405.    orphaning and eventual death of Honeywell {{Multics}}, and
  1406.    (2) GECOS/GCOS left one permanent mark on UNIX.  Some early UNIX
  1407.    systems at Bell Labs used GCOS machines for print spooling and
  1408.    various other services; the field added to `/etc/passwd' to
  1409.    carry GCOS ID information was called the `GECOS field' and
  1410.    survives today as the `pw_gecos' member used for the user's
  1411.    full name and other human-ID information.  GCOS later played a
  1412.    major role in keeping Honeywell a dismal also-ran in the mainframe
  1413.    market, and was itself ditched for UNIX in the late 1980s when
  1414.    Honeywell retired its aging {big iron} designs.
  1415.  
  1416. :GECOS:: /jee'kohs/ n. See {{GCOS}}.
  1417.  
  1418. :gedanken: /g*-don'kn/ adj. Ungrounded; impractical; not
  1419.    well-thought-out; untried; untested.
  1420.  
  1421.    `Gedanken' is a German word for `thought'.  A thought
  1422.    experiment is one you carry out in your head.  In physics, the term
  1423.    `gedanken experiment' is used to refer to an experiment that is
  1424.    impractical to carry out, but useful to consider because it can
  1425.    be reasoned about theoretically.  (A classic gedanken experiment of
  1426.    relativity theory involves thinking about a man in an elevator
  1427.    accelerating through space.)  Gedanken experiments are very useful
  1428.    in physics, but must be used with care.  It's too easy to idealize
  1429.    away some important aspect of the real world in contructing the
  1430.    `apparatus'.
  1431.  
  1432.    Among hackers, accordingly, the word has a pejorative connotation.
  1433.    It is typically used of a project, especially one in artificial
  1434.    intelligence research, that is written up in grand detail
  1435.    (typically as a Ph.D.  thesis) without ever being implemented to
  1436.    any great extent.  Such a project is usually perpetrated by people
  1437.    who aren't very good hackers or find programming distasteful or are
  1438.    just in a hurry.  A `gedanken thesis' is usually marked by an
  1439.    obvious lack of intuition about what is programmable and what is
  1440.    not, and about what does and does not constitute a clear
  1441.    specification of an algorithm.  See also {AI-complete},
  1442.    {DWIM}.
  1443.  
  1444. :geef: v. [ostensibly from `gefingerpoken'] vt. Syn. {mung}.  See
  1445.    also {blinkenlights}.
  1446.  
  1447. :geek out: vi. To temporarily enter techno-nerd mode while in a
  1448.    non-hackish context, for example at parties held near computer
  1449.    equipment.  Especially used when you need to do or say something
  1450.    highly technical and don't have time to explain: "Pardon me while
  1451.    I geek out for a moment."  See {computer geek}; see also
  1452.    {propeller head}.
  1453.  
  1454. :gen: /jen/ n.,v. Short for {generate}, used frequently in both spoken
  1455.    and written contexts.
  1456.  
  1457. :gender mender: n. A cable connector shell with either two male or
  1458.    two female connectors on it, used to correct the mismatches that
  1459.    result when some {loser} didn't understand the RS232C
  1460.    specification and the distinction between DTE and DCE.  Used
  1461.    esp. for RS-232C parts in either the original D-25 or the
  1462.    IBM PC's bogus D-9 format.  Also called `gender bender',
  1463.    `gender blender', `sex changer', and even `homosexual
  1464.    adapter'; however, there appears to be some confusion as to whether
  1465.    a `male homosexual adapter' has pins on both sides (is doubly
  1466.    male) or sockets on both sides (connects two males).
  1467.  
  1468. :General Public Virus: n. Pejorative name for some versions of the
  1469.    {GNU} project {copyleft} or General Public License (GPL), which
  1470.    requires that any tools or {app}s incorporating copylefted code
  1471.    must be source-distributed on the same counter-commercial terms as
  1472.    GNU stuff.  Thus it is alleged that the copyleft `infects' software
  1473.    generated with GNU tools, which may in turn infect other software
  1474.    that reuses any of its code.  The Free Software Foundation's
  1475.    official position as of January 1991 is that copyright law limits
  1476.    the scope of the GPL to "programs textually incorporating
  1477.    significant amounts of GNU code", and that the `infection' is not
  1478.    passed on to third parties unless actual GNU source is transmitted
  1479.    (as in, for example, use of the Bison parser skeleton).
  1480.    Nevertheless, widespread suspicion that the {copyleft} language
  1481.    is `boobytrapped' has caused many developers to avoid using GNU
  1482.    tools and the GPL.  Recent (July 1991) changes in the language of
  1483.    the version 2.00 license may eliminate this problem.
  1484.  
  1485. :generate: vt. To produce something according to an algorithm or
  1486.    program or set of rules, or as a (possibly unintended) side effect
  1487.    of the execution of an algorithm or program.  The opposite of
  1488.    {parse}.  This term retains its mechanistic connotations (though
  1489.    often humorously) when used of human behavior.  "The guy is
  1490.    rational most of the time, but mention nuclear energy around him
  1491.    and he'll generate {infinite} flamage."
  1492.  
  1493. :gensym: /jen'sim/ [from MacLISP for `generated symbol']
  1494.    1. v.  To invent a new name for something temporary, in such a way
  1495.    that the name is almost certainly not in conflict with one already
  1496.    in use.  2. n.  The resulting name.  The canonical form of a gensym
  1497.    is `Gnnnn' where nnnn represents a number; any LISP hacker would
  1498.    recognize G0093 (for example) as a gensym.  3. A freshly generated
  1499.    data structure with a gensymmed name.  Gensymmed names are useful
  1500.    for storing or uniquely identifying crufties (see
  1501.    {cruft}).
  1502.  
  1503. :Get a life!: imp. Hacker-standard way of suggesting that the
  1504.    person to whom it is directed has succumbed to terminal geekdom
  1505.    (see {computer geek}).  Often heard on {USENET}, esp. as a
  1506.    way of suggesting that the target is taking some obscure issue of
  1507.    {theology} too seriously.  This exhortation was popularized by
  1508.    William Shatner on a "Saturday Night Live" episode in a
  1509.    speech that ended "Get a *life*!", but some respondents
  1510.    believe it to have been in use before then.  It was certainly in
  1511.    wide use among hackers for at least five years before achieving
  1512.    mainstream currency in early 1992.
  1513.  
  1514. :Get a real computer!: imp. Typical hacker response to news that
  1515.    somebody is having trouble getting work done on a system that
  1516.    (a) is single-tasking, (b) has no hard disk, or (c) has an address
  1517.    space smaller than 16 megabytes.  This is as of mid-1993; note that
  1518.    the threshold for `real computer' rises with time, and it may well
  1519.    be (for example) that machines with character-only displays will be
  1520.    generally considered `unreal' in a few years (GLS points out that
  1521.    they already are in some circles).  See {essentials}, {bitty
  1522.    box}, and {toy}.
  1523.  
  1524. :GFR: /G-F-R/ vt. [ITS: from `Grim File Reaper', an ITS and LISP
  1525.    Machine utility] To remove a file or files according to some
  1526.    program-automated or semi-automatic manual procedure, especially
  1527.    one designed to reclaim mass storage space or reduce name-space
  1528.    clutter (the original GFR actually moved files to tape).  Often
  1529.    generalized to pieces of data below file level.  "I used to have
  1530.    his phone number, but I guess I {GFR}ed it."  See also
  1531.    {prowler}, {reaper}.  Compare {GC}, which discards only
  1532.    provably worthless stuff.
  1533.  
  1534. :gig: /jig/ or /gig/ [SI] n. See {{quantifiers}}.
  1535.  
  1536. :giga-: /ji'ga/ or /gi'ga/ [SI] pref. See {{quantifiers}}.
  1537.  
  1538. :GIGO: /gi:'goh/ [acronym] 1. `Garbage In, Garbage Out' ---
  1539.    usually said in response to {luser}s who complain that a program
  1540.    didn't "do the right thing" when given imperfect input or
  1541.    otherwise mistreated in some way.  Also commonly used to describe
  1542.    failures in human decision making due to faulty, incomplete, or
  1543.    imprecise data.  2. `Garbage In, Gospel Out': this more recent
  1544.    expansion is a sardonic comment on the tendency human beings have
  1545.    to put excessive trust in `computerized' data.
  1546.  
  1547. :gilley: [USENET] n. The unit of analogical bogosity.  According to
  1548.    its originator, the standard for one gilley was "the act of
  1549.    bogotoficiously comparing the shutting down of 1000 machines for a
  1550.    day with the killing of one person".  The milligilley has been
  1551.    found to suffice for most normal conversational exchanges.
  1552.  
  1553. :gillion: /gil'y*n/ or /jil'y*n/ [formed from {giga-} by analogy
  1554.    with mega/million and tera/trillion] n. 10^9. Same as an
  1555.    American billion or a British `milliard'.  How one pronounces
  1556.    this depends on whether one speaks {giga-} with a hard or
  1557.    soft `g'.
  1558.  
  1559. :GIPS: /gips/ or /jips/ [analogy with {MIPS}] n.
  1560.    Giga-Instructions per Second (also possibly `Gillions of
  1561.    Instructions per Second'; see {gillion}).  In 1991, this is used
  1562.    of only a handful of highly parallel machines, but this is expected
  1563.    to change.  Compare {KIPS}.
  1564.  
  1565. :glark: /glark/ vt. To figure something out from context.  "The
  1566.    System III manuals are pretty poor, but you can generally glark the
  1567.    meaning from context."  Interestingly, the word was originally
  1568.    `glork'; the context was "This gubblick contains many
  1569.    nonsklarkish English flutzpahs, but the overall pluggandisp can be
  1570.    glorked [sic] from context" (David Moser, quoted by Douglas
  1571.    Hofstadter in his "Metamagical Themas" column in the
  1572.    January 1981 `Scientific American').  It is conjectured that
  1573.    hackish usage mutated the verb to `glark' because {glork} was
  1574.    already an established jargon term.  Compare {grok},
  1575.    {zen}.
  1576.  
  1577. :glass: [IBM] n. Synonym for {silicon}.
  1578.  
  1579. :glass tty: /glas T-T-Y/ or /glas ti'tee/ n. A terminal that
  1580.    has a display screen but which, because of hardware or software
  1581.    limitations, behaves like a teletype or some other printing
  1582.    terminal, thereby combining the disadvantages of both: like a
  1583.    printing terminal, it can't do fancy display hacks, and like a
  1584.    display terminal, it doesn't produce hard copy.  An example is the
  1585.    early `dumb' version of Lear-Siegler ADM 3 (without cursor
  1586.    control).  See {tube}, {tty}; compare {dumb terminal}, {smart
  1587.    terminal}.  See "{TV Typewriters}" (appendix A) for an
  1588.    interesting true story about a glass tty.
  1589.  
  1590. :glassfet: /glas'fet/ [by analogy with MOSFET, the acronym for
  1591.    `Metal-Oxide-Semiconductor Field-Effect Transistor'] n. Syn.
  1592.    {firebottle}, a humorous way to refer to a vacuum tube.
  1593.  
  1594. :glitch: /glich/ [from German `glitschen' to slip, via Yiddish
  1595.    `glitshen', to slide or skid] 1. n. A sudden interruption in
  1596.    electric service, sanity, continuity, or program function.
  1597.    Sometimes recoverable.  An interruption in electric service is
  1598.    specifically called a `power glitch' (also {power hit}), of
  1599.    grave concern because it usually crashes all the computers.  In
  1600.    jargon, though, a hacker who got to the middle of a sentence and
  1601.    then forgot how he or she intended to complete it might say,
  1602.    "Sorry, I just glitched".  2. vi. To commit a glitch.  See
  1603.    {gritch}.  3. vt.  [Stanford] To scroll a display screen, esp.
  1604.    several lines at a time.  {{WAITS}} terminals used to do this in
  1605.    order to avoid continuous scrolling, which is distracting to the
  1606.    eye.  4. obs.  Same as {magic cookie}, sense 2.
  1607.  
  1608.    All these uses of `glitch' derive from the specific technical
  1609.    meaning the term has in the electronic hardware world, where it is
  1610.    now techspeak.  A glitch can occur when the inputs of a circuit
  1611.    change, and the outputs change to some {random} value for some
  1612.    very brief time before they settle down to the correct value.  If
  1613.    another circuit inspects the output at just the wrong time, reading
  1614.    the random value, the results can be very wrong and very hard to
  1615.    debug (a glitch is one of many causes of electronic {heisenbug}s).
  1616.  
  1617. :glob: /glob/, *not* /glohb/ [UNIX] vt.,n. To expand
  1618.    special characters in a wildcarded name, or the act of so doing
  1619.    (the action is also called `globbing').  The UNIX conventions for
  1620.    filename wildcarding have become sufficiently pervasive that many
  1621.    hackers use some of them in written English, especially in email or
  1622.    news on technical topics.  Those commonly encountered include the
  1623.    following:
  1624.  
  1625.      *
  1626.           wildcard for any string (see also {UN*X})
  1627.   
  1628.      ?
  1629.           wildcard for any single character (generally read this way
  1630.           only at the beginning or in the middle of a word)
  1631.  
  1632.      []
  1633.           delimits a wildcard matching any of the enclosed characters
  1634.  
  1635.      {}
  1636.           alternation of comma-separated alternatives; thus,
  1637.           `foo{baz,qux}' would be read as `foobaz' or `fooqux'
  1638.  
  1639.    Some examples: "He said his name was [KC]arl" (expresses
  1640.    ambiguity).  "I don't read talk.politics.*" (any of the
  1641.    talk.politics subgroups on {USENET}).  Other examples are given
  1642.    under the entry for {X}.  Note that glob patterns are similar,
  1643.    but not identical, to those used in {regexp}s.
  1644.  
  1645.    Historical note: The jargon usage derives from `glob', the
  1646.    name of a subprogram that expanded wildcards in archaic pre-Bourne
  1647.    versions of the UNIX shell.
  1648.  
  1649. :glork: /glork/ 1. interj. Term of mild surprise, usually tinged with
  1650.    outrage, as when one attempts to save the results of two hours of
  1651.    editing and finds that the system has just crashed.  2. Used as a
  1652.    name for just about anything.  See {foo}.  3. vt. Similar to
  1653.    {glitch}, but usually used reflexively.  "My program just glorked
  1654.    itself."  See also {glark}.
  1655.  
  1656. :glue: n. Generic term for any interface logic or protocol that
  1657.    connects two component blocks.  For example,  {Blue
  1658.    Glue} is IBM's SNA protocol, and hardware designers call anything
  1659.    used to connect large VLSI's or circuit blocks `glue logic'.
  1660.  
  1661. :gnarly: /nar'lee/ adj. Both {obscure} and {hairy} (sense
  1662.    1).  "{Yow!} --- the tuned assembler implementation of BitBlt
  1663.    is really gnarly!"  From a similar but less specific usage in
  1664.    surfer slang.
  1665.  
  1666. :GNU: /gnoo/, *not* /noo/ 1. [acronym: `GNU's Not UNIX!',
  1667.    see {{recursive acronym}}] A UNIX-workalike development effort of
  1668.    the Free Software Foundation headed by Richard Stallman
  1669.    <rms@gnu.ai.mit.edu>.  GNU EMACS and the GNU C compiler, two tools
  1670.    designed for this project, have become very popular in hackerdom
  1671.    and elsewhere.  The GNU project was designed partly to proselytize
  1672.    for RMS's position that information is community property and all
  1673.    software source should be shared.  One of its slogans is "Help
  1674.    stamp out software hoarding!"  Though this remains controversial
  1675.    (because it implicitly denies any right of designers to own,
  1676.    assign, and sell the results of their labors), many hackers who
  1677.    disagree with RMS have nevertheless cooperated to produce large
  1678.    amounts of high-quality software for free redistribution under the
  1679.    Free Software Foundation's imprimatur.  See {EMACS},
  1680.    {copyleft}, {General Public Virus}.  2. Noted UNIX hacker
  1681.    John Gilmore <gnu@toad.com>, founder of USENET's anarchic alt.*
  1682.    hierarchy.
  1683.  
  1684. :GNUMACS: /gnoo'maks/ [contraction of `GNU EMACS'] Often-heard
  1685.    abbreviated name for the {GNU} project's flagship tool, {EMACS}.
  1686.    Used esp. in contrast with {GOSMACS}.
  1687.  
  1688. :go flatline: [from cyberpunk SF, refers to flattening of EEG
  1689.    traces upon brain-death] vi., also adjectival `flatlined'. 1. To
  1690.    {die}, terminate, or fail, esp. irreversibly.  In hacker
  1691.    parlance, this is used of machines only, human death being
  1692.    considered somewhat too serious a matter to employ jargon-jokes
  1693.    about.  2. To go completely quiescent; said of machines undergoing
  1694.    controlled shutdown.  "You can suffer file damage if you shut down
  1695.    UNIX but power off before the system has gone flatline."  3. Of a
  1696.    video tube, to fail by losing vertical scan, so all one sees is a
  1697.    bright horizontal line bisecting the screen.
  1698.  
  1699. :go root: [UNIX] vi. To temporarily enter {root mode} in order
  1700.    to perform a privileged operation.  This use is deprecated in
  1701.    Australia, where v. `root' refers to animal sex.
  1702.  
  1703. :go-faster stripes: [UK] Syn. {chrome}.  Mainstream in some
  1704.    parts of UK. .
  1705.  
  1706. :gobble: vt. 1. To consume, usu. used with `up'.  "The output
  1707.    spy gobbles characters out of a {tty} output buffer."  2. To
  1708.    obtain, usu. used with `down'.  "I guess I'll gobble down a copy
  1709.    of the documentation tomorrow."  See also {snarf}.
  1710.  
  1711. :Godzillagram: /god-zil'*-gram/ n. [from Japan's national hero]
  1712.    1. A network packet that in theory is a broadcast to every machine
  1713.    in the universe.  The typical case is an IP datagram whose
  1714.    destination IP address is [255.255.255.255].  Fortunately, few
  1715.    gateways are foolish enough to attempt to implement this case!  2. A
  1716.    network packet of maximum size.  An IP Godzillagram has
  1717.    65,536 octets.
  1718.  
  1719. :golden: adj. [prob. from folklore's `golden egg'] When used to
  1720.    describe a magnetic medium (e.g., `golden disk', `golden tape'),
  1721.    describes one containing a tested, up-to-spec, ready-to-ship
  1722.    software version.  Compare {platinum-iridium}.
  1723.  
  1724. :golf-ball printer: n. The IBM 2741, a slow but letter-quality
  1725.    printing device and terminal based on the IBM Selectric
  1726.    typewriter.  The `golf ball' was a little spherical frob bearing
  1727.    reversed embossed images of 88 different characters arranged on
  1728.    four parallels of latitude; one could change the font by swapping
  1729.    in a different golf ball.  This was the technology that enabled APL
  1730.    to use a non-EBCDIC, non-ASCII, and in fact completely non-standard
  1731.    character set.  This put it 10 years ahead of its time --- where it
  1732.    stayed, firmly rooted, for the next 20, until character displays
  1733.    gave way to programmable bit-mapped devices with the flexibility to
  1734.    support other character sets.
  1735.  
  1736. :gonk: /gonk/ vt.,n. 1. To prevaricate or to embellish the truth
  1737.    beyond any reasonable recognition.  In German the term is
  1738.    (mythically) `gonken'; in Spanish the verb becomes `gonkar'.
  1739.    "You're gonking me.  That story you just told me is a bunch of
  1740.    gonk."  In German, for example, "Du gonkst mir" (You're pulling
  1741.    my leg).  See also {gonkulator}.  2. [British] To grab some
  1742.    sleep at an odd time; compare {gronk out}.
  1743.  
  1744. :gonkulator: /gon'kyoo-lay-tr/ [from the old "Hogan's Heroes" TV
  1745.    series] n. A pretentious piece of equipment that actually serves no
  1746.    useful purpose.  Usually used to describe one's least favorite
  1747.    piece of computer hardware.  See {gonk}.
  1748.  
  1749. :gonzo: /gon'zoh/ [from Hunter S. Thompson] adj. Overwhelming;
  1750.    outrageous; over the top; very large, esp. used of collections of
  1751.    source code, source files, or individual functions.  Has some of
  1752.    the connotations of {moby} and {hairy}, but without the
  1753.    implication of obscurity or complexity.
  1754.  
  1755. :Good Thing: n.,adj. Often capitalized; always pronounced as if
  1756.    capitalized.  1. Self-evidently wonderful to anyone in a position
  1757.    to notice: "The Trailblazer's 19.2Kbaud PEP mode with on-the-fly
  1758.    Lempel-Ziv compression is a Good Thing for sites relaying
  1759.    netnews."  2. Something that can't possibly have any ill
  1760.    side-effects and may save considerable grief later: "Removing the
  1761.    self-modifying code from that shared library would be a Good
  1762.    Thing."  3. When said of software tools or libraries, as in "YACC
  1763.    is a Good Thing", specifically connotes that the thing has
  1764.    drastically reduced a programmer's work load.  Oppose {Bad
  1765.    Thing}.
  1766.  
  1767. :gorets: /goh'rets/ n. The unknown ur-noun, fill in your own
  1768.    meaning.  Found esp. on the USENET newsgroup alt.gorets, which
  1769.    seems to be a running contest to redefine the word by implication
  1770.    in the funniest and most peculiar way, with the understanding that
  1771.    no definition is ever final.  [A correspondent from the Former
  1772.    Soviet Union informs me that `gorets' is Russian for `mountain
  1773.    dweller' --- ESR] Compare {frink}.
  1774.  
  1775. :gorilla arm: n. The side-effect that destroyed touch-screens as a
  1776.    mainstream input technology despite a promising start in the early
  1777.    1980s.  It seems the designers of all those {spiffy} touch-menu
  1778.    systems failed to notice that humans aren't designed to hold their
  1779.    arms in front of their faces making small motions.  After more than
  1780.    a very few selections, the arm begins to feel sore, cramped, and
  1781.    oversized --- the operator looks like a gorilla while using the
  1782.    touch screen and feels like one afterwards.  This is now considered
  1783.    a classic cautionary tale to human-factors designers; "Remember
  1784.    the gorilla arm!" is shorthand for "How is this going to fly in
  1785.    *real* use?".
  1786.  
  1787. :gorp: /gorp/ [CMU: perhaps from the canonical hiker's food, Good
  1788.    Old Raisins and Peanuts] Another {metasyntactic variable}, like
  1789.    {foo} and {bar}.
  1790.  
  1791. :GOSMACS: /goz'maks/ [contraction of `Gosling EMACS'] n. The first
  1792.    {EMACS}-in-C implementation, predating but now largely eclipsed by
  1793.    {GNUMACS}.  Originally freeware; a commercial version is now
  1794.    modestly popular as `UniPress EMACS'.  The author (James Gosling)
  1795.    went on to invent {NeWS}.
  1796.  
  1797. :Gosperism: /gos'p*r-izm/ A hack, invention, or saying due to
  1798.    arch-hacker R. William (Bill) Gosper.  This notion merits its own
  1799.    term because there are so many of them.  Many of the entries in
  1800.    {HAKMEM} are Gosperisms; see also {life}.
  1801.  
  1802. :gotcha: n. A {misfeature} of a system, especially a programming
  1803.    language or environment, that tends to breed bugs or mistakes
  1804.    because it both enticingly easy to invoke and completely unexpected
  1805.    and/or unreasonable in its outcome.  For example, a classic gotcha
  1806.    in {C} is the fact that `if (a=b) {code;}' is
  1807.    syntactically valid and sometimes even correct.  It puts the value
  1808.    of `b' into `a' and then executes `code' if
  1809.    `a' is non-zero.  What the programmer probably meant was
  1810.    `if (a==b) {code;}', which executes `code' if
  1811.    `a' and `b' are equal.
  1812.  
  1813. :GPL: /G-P-L/ n. Abbreviation for `General Public License' in
  1814.    widespread use; see {copyleft}, {General Public
  1815.    Virus}.
  1816.  
  1817. :GPV: /G-P-V/ n. Abbrev. for {General Public Virus} in
  1818.    widespread use.
  1819.  
  1820. :grault: /grawlt/ n. Yet another {metasyntactic variable}, invented by
  1821.    Mike Gallaher and propagated by the {GOSMACS} documentation.  See
  1822.    {corge}.
  1823.  
  1824. :gray goo: n. A hypothetical substance composed of {sagan}s of
  1825.    sub-micron-sized self-replicating robots programmed to make copies
  1826.    of themselves out of whatever is available.  The image that goes
  1827.    with the term is one of the entire biosphere of Earth being
  1828.    eventually converted to robot goo.  This is the simplest of the
  1829.    {{nanotechnology}} disaster scenarios, easily refuted by arguments
  1830.    from energy requirements and elemental abundances.  Compare {blue
  1831.    goo}.
  1832.  
  1833. :Great Renaming: n. The {flag day} in 1985 on which all of the
  1834.    non-local groups on the {USENET} had their names changed from
  1835.    the net.- format to the current multiple-hierarchies scheme.  Used
  1836.    esp. in discussing the history of newsgroup names.  "The oldest
  1837.    sources group is comp.sources.misc; before the Great Renaming,
  1838.    it was net.sources."
  1839.  
  1840. :Great Runes: n. Uppercase-only text or display messages.  Some
  1841.    archaic operating systems still emit these.  See also {runes},
  1842.    {smash case}, {fold case}.
  1843.  
  1844.    Decades ago, back in the days when it was the sole supplier of
  1845.    long-distance hardcopy transmittal devices, the Teletype
  1846.    Corporation was faced with a major design choice.  To shorten code
  1847.    lengths and cut complexity in the printing mechanism, it had been
  1848.    decided that teletypes would use a monocase font, either ALL UPPER
  1849.    or all lower.  The Question Of The Day was therefore, which one to
  1850.    choose.  A study was conducted on readability under various
  1851.    conditions of bad ribbon, worn print hammers, etc.  Lowercase won;
  1852.    it is less dense and has more distinctive letterforms, and is thus
  1853.    much easier to read both under ideal conditions and when the
  1854.    letters are mangled or partly obscured.  The results were filtered
  1855.    up through {management}.  The chairman of Teletype killed the
  1856.    proposal because it failed one incredibly important criterion:
  1857.  
  1858.         "It would be impossible to spell the name of the Deity
  1859.         correctly."
  1860.  
  1861.    In this way (or so, at least, hacker folklore has it) superstition
  1862.    triumphed over utility.  Teletypes were the major input devices on
  1863.    most early computers, and terminal manufacturers looking for
  1864.    corners to cut naturally followed suit until well into the 1970s.
  1865.    Thus, that one bad call stuck us with Great Runes for thirty years.
  1866.  
  1867. :Great Worm, the: n. The 1988 Internet {worm} perpetrated by
  1868.    {RTM}.  This is a play on Tolkien (compare {elvish},
  1869.    {elder days}).  In the fantasy history of his Middle Earth
  1870.    books, there were dragons powerful enough to lay waste to entire
  1871.    regions; two of these (Scatha and Glaurung) were known as "the
  1872.    Great Worms".  This usage expresses the connotation that the RTM
  1873.    hack was a sort of devastating watershed event in hackish history;
  1874.    certainly it did more to make non-hackers nervous about the
  1875.    Internet than anything before or since.
  1876.  
  1877. :great-wall: [from SF fandom] vi.,n. A mass expedition to an
  1878.    oriental restaurant, esp. one where food is served family-style
  1879.    and shared.  There is a common heuristic about the amount of food
  1880.    to order, expressed as "Get N - 1 entrees"; the value of N,
  1881.    which is the number of people in the group, can be inferred from
  1882.    context (see {N}).  See {{oriental food}}, {ravs},
  1883.    {stir-fried random}.
  1884.  
  1885. :Green Book: n. 1. One of the three standard {{PostScript}}
  1886.    references: `PostScript Language Program Design', bylined
  1887.    `Adobe Systems' (Addison-Wesley, 1988; QA76.73.P67P66 ISBN
  1888.    0-201-14396-8); see also {Red Book}, {Blue Book}, and the
  1889.    {White Book} (sense 2).  2. Informal name for one of the three
  1890.    standard references on SmallTalk: `Smalltalk-80: Bits of
  1891.    History, Words of Advice', by Glenn Krasner (Addison-Wesley, 1983;
  1892.    QA76.8.S635S58; ISBN 0-201-11669-3) (this, too, is associated with
  1893.    blue and red books).  3. The `X/Open Compatibility Guide', which
  1894.    defines an international standard {{UNIX}} environment that is a
  1895.    proper superset of POSIX/SVID; also includes descriptions of a
  1896.    standard utility toolkit, systems administrations features, and the
  1897.    like.  This grimoire is taken with particular seriousness in
  1898.    Europe.  See {Purple Book}.  4. The IEEE 1003.1 POSIX Operating
  1899.    Systems Interface standard has been dubbed "The Ugly Green
  1900.    Book".  5. Any of the 1992 standards issued by the CCITT's tenth
  1901.    plenary assembly.  These include, among other things, the
  1902.    X.400 email standard and the Group 1 through 4 fax standards.  See
  1903.    also {{book titles}}.
  1904.  
  1905. :green bytes: n. (also `green words') 1. Meta-information
  1906.    embedded in a file, such as the length of the file or its name; as
  1907.    opposed to keeping such information in a separate description file
  1908.    or record.  The term comes from an IBM user's group meeting
  1909.    (ca. 1962) at which these two approaches were being debated and the
  1910.    diagram of the file on the blackboard had the `green bytes' drawn
  1911.    in green.  2. By extension, the non-data bits in any
  1912.    self-describing format.  "A GIF file contains, among other things,
  1913.    green bytes describing the packing method for the image." Compare
  1914.    {out-of-band}, {zigamorph}, {fence} (sense 1).
  1915.  
  1916. :green card: n. [after the `IBM System/360 Reference Data'
  1917.    card] A summary of an assembly language, even if the color is not
  1918.    green.  Less frequently used now because of the decrease in the use
  1919.    of assembly language.  "I'll go get my green card so I can check
  1920.    the addressing mode for that instruction."  Some green cards are
  1921.    actually booklets.
  1922.  
  1923.    The original green card became a yellow card when the System/370
  1924.    was introduced, and later a yellow booklet.  An anecdote from IBM
  1925.    refers to a scene that took place in a programmers' terminal room
  1926.    at Yorktown in 1978.  A luser overheard one of the programmers ask
  1927.    another "Do you have a green card?"  The other grunted and
  1928.    passed the first a thick yellow booklet.  At this point the luser
  1929.    turned a delicate shade of olive and rapidly left the room, never
  1930.    to return..
  1931.  
  1932. :green lightning: [IBM] n. 1. Apparently random flashing streaks on
  1933.    the face of 3278-9 terminals while a new symbol set is being
  1934.    downloaded.  This hardware bug was left deliberately unfixed, as
  1935.    some genius within IBM suggested it would let the user know that
  1936.    `something is happening'.  That, it certainly does.  Later
  1937.    microprocessor-driven IBM color graphics displays were actually
  1938.    *programmed* to produce green lightning!  2. [proposed] Any
  1939.    bug perverted into an alleged feature by adroit rationalization or
  1940.    marketing.  "Motorola calls the CISC cruft in the 88000
  1941.    architecture `compatibility logic', but I call it green
  1942.    lightning".  See also {feature} (sense 6).
  1943.  
  1944. :green machine: n. A computer or peripheral device that has been
  1945.    designed and built to military specifications for field equipment
  1946.    (that is, to withstand mechanical shock, extremes of temperature
  1947.    and humidity, and so forth).  Comes from the olive-drab `uniform'
  1948.    paint used for military equipment.
  1949.  
  1950. :Green's Theorem: [TMRC] prov. For any story, in any group of
  1951.    people there will be at least one person who has not heard the
  1952.    story.  A refinement of the theorem states that there will be
  1953.    *exactly* one person (if there were more than one, it wouldn't be
  1954.    as bad to re-tell the story).  [The name of this theorem is a play
  1955.    on a fundamental theorem in calculus. --- ESR]
  1956.  
  1957. :grep: /grep/ [from the qed/ed editor idiom g/re/p , where
  1958.    re stands for a regular expression, to Globally search for the
  1959.    Regular Expression and Print the lines containing matches to it,
  1960.    via {{UNIX}} `grep(1)'] vt. To rapidly scan a file or set of
  1961.    files looking for a particular string or pattern (when browsing
  1962.    through a large set of files, one may speak of `grepping
  1963.    around').  By extension, to look for something by pattern.  "Grep
  1964.    the bulletin board for the system backup schedule, would you?"
  1965.    See also {vgrep}.
  1966.  
  1967. :grilf: // n.  Girl-friend.  Like {newsfroup} and {filk}, a
  1968.    typo incarnated as a new word.  Seems to have originated sometime
  1969.    in 1992.
  1970.  
  1971. :grind: vt. 1. [MIT and Berkeley] To prettify hardcopy of code,
  1972.    especially LISP code, by reindenting lines, printing keywords and
  1973.    comments in distinct fonts (if available), etc.  This usage was
  1974.    associated with the MacLISP community and is now rare;
  1975.    {prettyprint} was and is the generic term for such
  1976.    operations.  2. [UNIX] To generate the formatted version of a
  1977.    document from the {{nroff}}, {{troff}}, {{TeX}}, or Scribe
  1978.    source.  3. To run seemingly interminably, esp. (but not
  1979.    necessarily) if performing some tedious and inherently useless
  1980.    task.  Similar to {crunch} or {grovel}.  Grinding has a
  1981.    connotation of using a lot of CPU time, but it is possible to grind
  1982.    a disk, network, etc.  See also {hog}.  4. To make the whole
  1983.    system slow.  "Troff really grinds a PDP-11."  5. `grind grind'
  1984.    excl. Roughly, "Isn't the machine slow today!"
  1985.  
  1986. :grind crank: n. A mythical accessory to a terminal.  A crank on the
  1987.    side of a monitor, which when operated makes a zizzing noise and
  1988.    causes the computer to run faster.  Usually one does not refer to a
  1989.    grind crank out loud, but merely makes the appropriate gesture and
  1990.    noise.  See {grind} and {wugga wugga}.
  1991.  
  1992.    Historical note: At least one real machine actually had a grind
  1993.    crank --- the R1, a research machine built toward the end of the
  1994.    days of the great vacuum tube computers, in 1959.  R1 (also known
  1995.    as `The Rice Institute Computer' (TRIC) and later as `The Rice
  1996.    University Computer' (TRUC)) had a single-step/free-run switch for
  1997.    use when debugging programs.  Since single-stepping through a large
  1998.    program was rather tedious, there was also a crank with a cam and
  1999.    gear arrangement that repeatedly pushed the single-step button.
  2000.    This allowed one to `crank' through a lot of code, then slow
  2001.    down to single-step for a bit when you got near the code of
  2002.    interest, poke at some registers using the console typewriter, and
  2003.    then keep on cranking.
  2004.  
  2005. :gripenet: [IBM] n. A wry (and thoroughly unofficial) name for IBM's
  2006.    internal VNET system, deriving from its common use by IBMers to
  2007.    voice pointed criticism of IBM management that would be taboo in
  2008.    more formal channels.
  2009.  
  2010. :gritch: /grich/ 1. n. A complaint (often caused by a {glitch}).
  2011.    2. vi. To complain.  Often verb-doubled: "Gritch gritch".  3. A
  2012.    synonym for {glitch} (as verb or noun).
  2013.  
  2014. :grok: /grok/, var. /grohk/ [from the novel `Stranger in
  2015.    a Strange Land', by Robert A. Heinlein, where it is a Martian word
  2016.    meaning literally `to drink' and metaphorically `to be one
  2017.    with'] vt. 1. To understand, usually in a global sense.  Connotes
  2018.    intimate and exhaustive knowledge.  Contrast {zen}, which is similar
  2019.    supernal understanding experienced as a single brief flash.  See also
  2020.    {glark}.  2. Used of programs, may connote merely sufficient
  2021.    understanding.  "Almost all C compilers grok the `void' type
  2022.    these days."
  2023.  
  2024. :gronk: /gronk/ [popularized by Johnny Hart's comic strip
  2025.    "B.C." but the word apparently predates that] vt. 1. To
  2026.    clear the state of a wedged device and restart it.  More severe
  2027.    than `to {frob}' (sense 2).  2. [TMRC] To cut, sever, smash,
  2028.    or similarly disable.  3. The sound made by many 3.5-inch diskette
  2029.    drives.  In particular, the microfloppies on a Commodore Amiga go
  2030.    "grink, gronk".
  2031.  
  2032. :gronk out: vi. To cease functioning.  Of people, to go home and go
  2033.    to sleep.  "I guess I'll gronk out now; see you all tomorrow."
  2034.  
  2035. :gronked: adj. 1. Broken.  "The teletype scanner was gronked, so
  2036.    we took the system down."  2. Of people, the condition of feeling
  2037.    very tired or (less commonly) sick.  "I've been chasing that bug
  2038.    for 17 hours now and I am thoroughly gronked!"  Compare
  2039.    {broken}, which means about the same as {gronk} used of
  2040.    hardware, but connotes depression or mental/emotional problems in
  2041.    people.
  2042.  
  2043. :grovel: vi. 1. To work interminably and without apparent progress.
  2044.    Often used transitively with `over' or `through'.  "The file
  2045.    scavenger has been groveling through the /usr directories for 10
  2046.    minutes now."  Compare {grind} and {crunch}.  Emphatic form:
  2047.    `grovel obscenely'.  2. To examine minutely or in complete detail.
  2048.    "The compiler grovels over the entire source program before
  2049.    beginning to translate it."  "I grovelled through all the
  2050.    documentation, but I still couldn't find the command I wanted."
  2051.  
  2052. :grunge: /gruhnj/ n. 1. That which is grungy, or that which makes
  2053.    it so.  2. [Cambridge] Code which is inaccessible due to changes in
  2054.    other parts of the program.  The preferred term in North America is
  2055.    {dead code}.
  2056.  
  2057. :gubbish: /guhb'*sh/ [a portmanteau of `garbage' and
  2058.    `rubbish'; may have originated with SF author Philip K. Dick]
  2059.    n. Garbage; crap; nonsense.  "What is all this gubbish?"  The
  2060.    opposite portmanteau `rubbage' is also reported.
  2061.  
  2062. :guiltware: /gilt'weir/ n. 1. A piece of {freeware} decorated
  2063.    with a message telling one how long and hard the author worked on
  2064.    it and intimating that one is a no-good freeloader if one does not
  2065.    immediately send the poor suffering martyr gobs of money.
  2066.    2. {Shareware} that works.
  2067.  
  2068. :gumby: /guhm'bee/ [from a class of Monty Python characters,
  2069.    poss. with some influence from the 1960s claymation character] n.
  2070.    An act of minor but conspicuous stupidity, often in `gumby
  2071.    maneuver' or `pull a gumby'.
  2072.  
  2073. :gun: [ITS: from the `:GUN' command] vt. To forcibly
  2074.    terminate a program or job (computer, not career).  "Some idiot
  2075.    left a background process running soaking up half the cycles, so I
  2076.    gunned it."  Compare {can}.
  2077.  
  2078. :gunch: /guhnch/ [TMRC] vt. To push, prod, or poke at a device
  2079.    that has almost (but not quite) produced the desired result.
  2080.    Implies a threat to {mung}.
  2081.  
  2082. :gurfle: /ger'fl/ interj. An expression of shocked disbelief.  "He
  2083.    said we have to recode this thing in FORTRAN by next week.
  2084.    Gurfle!"  Compare {weeble}.
  2085.  
  2086. :guru: n. [UNIX] An expert.  Implies not only {wizard} skill but
  2087.    also a history of being a knowledge resource for others.  Less
  2088.    often, used (with a qualifier) for other experts on other systems,
  2089.    as in `VMS guru'.  See {source of all good bits}.
  2090.  
  2091. :guru meditation: n. Amiga equivalent of `panic' in UNIX
  2092.    (sometimes just called a `guru' or `guru event').  When the
  2093.    system crashes, a cryptic message of the form "GURU MEDITATION
  2094.    #XXXXXXXX.YYYYYYYY" may appear, indicating what the problem
  2095.    was.  An Amiga guru can figure things out from the numbers.
  2096.    Generally a {guru} event must be followed by a {Vulcan nerve
  2097.    pinch}.
  2098.  
  2099.    This term is (no surprise) an in-joke from the earliest days of the
  2100.    Amiga.  There used to be a device called a `Joyboard' which was
  2101.    basically a plastic board built onto a joystick-like device; it
  2102.    was sold with a skiing game cartridge for the Atari game machine.
  2103.    It is said that whenever the prototype OS crashed, the system
  2104.    programmer responsible would calm down by concentrating on a
  2105.    solution while sitting cross-legged on a Joyboard trying to keep
  2106.    the board in balance.  This position resembled that of a
  2107.    meditating guru.  Sadly, the joke was removed in AmigaOS 2.04.
  2108.  
  2109. :gweep: /gweep/ [WPI] 1. v. To {hack}, usually at night.  At
  2110.    WPI, from 1977 onwards, this often indicated that the speaker could
  2111.    be found at the College Computing Center punching cards or crashing
  2112.    the {PDP-10} or, later, the DEC-20.  The term has survived the
  2113.    demise of those technologies, however, and is still alive in late
  2114.    1991.  "I'm going to go gweep for a while. See you in the
  2115.    morning" "I gweep from 8 PM till 3 AM during the week."
  2116.    2. n. One who habitually gweeps in sense 1; a {hacker}.  "He's
  2117.    a hard-core gweep, mumbles code in his sleep."
  2118.  
  2119. = H =
  2120. =====
  2121.  
  2122. :h: [from SF fandom] infix. A method of `marking' common words,
  2123.    i.e., calling attention to the fact that they are being used in a
  2124.    nonstandard, ironic, or humorous way.  Originated in the fannish
  2125.    catchphrase "Bheer is the One True Ghod!" from decades ago.
  2126.    H-infix marking of `Ghod' and other words spread into the 1960s
  2127.    counterculture via underground comix, and into early hackerdom
  2128.    either from the counterculture or from SF fandom (the three
  2129.    overlapped heavily at the time).  More recently, the h infix has
  2130.    become an expected feature of benchmark names (Dhrystone,
  2131.    Rhealstone, etc.); this is prob. patterning on the original
  2132.    Whetstone (the name of a laboratory) but influenced by the
  2133.    fannish/counterculture h infix.
  2134.  
  2135. :ha ha only serious: [from SF fandom, orig. as mutation of HHOK,
  2136.    `Ha Ha Only Kidding'] A phrase (often seen abbreviated as HHOS)
  2137.    that aptly captures the flavor of much hacker discourse.  Applied
  2138.    especially to parodies, absurdities, and ironic jokes that are both
  2139.    intended and perceived to contain a possibly disquieting amount of
  2140.    truth, or truths that are constructed on in-joke and self-parody.
  2141.    This lexicon contains many examples of ha-ha-only-serious in both
  2142.    form and content.  Indeed, the entirety of hacker culture is often
  2143.    perceived as ha-ha-only-serious by hackers themselves; to take it
  2144.    either too lightly or too seriously marks a person as an outsider,
  2145.    a {wannabee}, or in {larval stage}.  For further
  2146.    enlightenment on this subject, consult any Zen master.  See also
  2147.    {{Humor, Hacker}}, and {AI koans}.
  2148.  
  2149. :hack: 1. n. Originally, a quick job that produces what is needed,
  2150.    but not well.  2. n. An incredibly good, and perhaps very
  2151.    time-consuming, piece of work that produces exactly what is needed.
  2152.    3. vt. To bear emotionally or physically.  "I can't hack this
  2153.    heat!"  4. vt. To work on something (typically a program).  In an
  2154.    immediate sense: "What are you doing?"  "I'm hacking TECO."
  2155.    In a general (time-extended) sense: "What do you do around here?"
  2156.    "I hack TECO."  More generally, "I hack `foo'" is roughly
  2157.    equivalent to "`foo' is my major interest (or project)".  "I
  2158.    hack solid-state physics."  5. vt. To pull a prank on.  See
  2159.    sense 2 and {hacker} (sense 5).  6. vi. To interact with a
  2160.    computer in a playful and exploratory rather than goal-directed
  2161.    way.  "Whatcha up to?"  "Oh, just hacking."  7. n. Short for
  2162.    {hacker}.  8. See {nethack}.  9. [MIT] v. To explore
  2163.    the basements, roof ledges, and steam tunnels of a large,
  2164.    institutional building, to the dismay of Physical Plant workers and
  2165.    (since this is usually performed at educational institutions) the
  2166.    Campus Police.  This activity has been found to be eerily similar
  2167.    to playing adventure games such as Dungeons and Dragons and {Zork}.
  2168.    See also {vadding}.
  2169.  
  2170.    Constructions on this term abound.  They include `happy hacking'
  2171.    (a farewell), `how's hacking?' (a friendly greeting among
  2172.    hackers) and `hack, hack' (a fairly content-free but friendly
  2173.    comment, often used as a temporary farewell).  For more on this
  2174.    totipotent term see "{The Meaning of `Hack'}".  See
  2175.    also {neat hack}, {real hack}.
  2176.  
  2177. :hack attack: [poss. by analogy with `Big Mac Attack' from ads
  2178.    for the McDonald's fast-food chain; the variant `big hack attack'
  2179.    is reported] n. Nearly synonymous with {hacking run}, though the
  2180.    latter more strongly implies an all-nighter.
  2181.  
  2182. :hack mode: n. 1. What one is in when hacking, of course.  2. More
  2183.    specifically, a Zen-like state of total focus on The Problem that
  2184.    may be achieved when one is hacking (this is why every good hacker
  2185.    is part mystic).  Ability to enter such concentration at will
  2186.    correlates strongly with wizardliness; it is one of the most
  2187.    important skills learned during {larval stage}.  Sometimes
  2188.    amplified as `deep hack mode'.
  2189.  
  2190.    Being yanked out of hack mode (see {priority interrupt}) may be
  2191.    experienced as a physical shock, and the sensation of being in it
  2192.    is more than a little habituating.  The intensity of this
  2193.    experience is probably by itself sufficient explanation for the
  2194.    existence of hackers, and explains why many resist being promoted
  2195.    out of positions where they can code.  See also {cyberspace}
  2196.    (sense 2).
  2197.  
  2198.    Some aspects of hackish etiquette will appear quite odd to an
  2199.    observer unaware of the high value placed on hack mode.  For
  2200.    example, if someone appears at your door, it is perfectly okay to
  2201.    hold up a hand (without turning one's eyes away from the screen) to
  2202.    avoid being interrupted.  One may read, type, and interact with the
  2203.    computer for quite some time before further acknowledging the
  2204.    other's presence (of course, he or she is reciprocally free to
  2205.    leave without a word).  The understanding is that you might be in
  2206.    {hack mode} with a lot of delicate {state} (sense 2) in your
  2207.    head, and you dare not {swap} that context out until you have
  2208.    reached a good point to pause. See also {juggling eggs}.
  2209.  
  2210. :hack on: vt. To {hack}; implies that the subject is some
  2211.    pre-existing hunk of code that one is evolving, as opposed to
  2212.    something one might {hack up}.
  2213.  
  2214. :hack together: vt. To throw something together so it will work.
  2215.    Unlike `kluge together' or {cruft together}, this does not
  2216.    necessarily have negative connotations.
  2217.  
  2218. :hack up: vt. To {hack}, but generally implies that the result is
  2219.    a hack in sense 1 (a quick hack).  Contrast this with {hack on}.
  2220.    To `hack up on' implies a {quick-and-dirty} modification to an
  2221.    existing system.  Contrast {hacked up}; compare {kluge up},
  2222.    {monkey up}, {cruft together}.
  2223.  
  2224. :hack value: n. Often adduced as the reason or motivation for
  2225.    expending effort toward a seemingly useless goal, the point being
  2226.    that the accomplished goal is a hack.  For example, MacLISP had
  2227.    features for reading and printing Roman numerals, which were
  2228.    installed purely for hack value.  See {display hack} for one
  2229.    method of computing hack value, but this cannot really be
  2230.    explained, only experienced.  As Louis Armstrong once said when
  2231.    asked to explain jazz: "Man, if you gotta ask you'll never know."
  2232.    (Feminists please note Fats Waller's explanation of rhythm: "Lady,
  2233.    if you got to ask you ain't got it.")
  2234.  
  2235. :hacked off: [analogous to `pissed off'] adj. Said of system
  2236.    administrators who have become annoyed, upset, or touchy owing to
  2237.    suspicions that their sites have been or are going to be victimized
  2238.    by crackers, or used for inappropriate, technically illegal, or
  2239.    even overtly criminal activities.  For example, having unreadable
  2240.    files in your home directory called `worm', `lockpick', or `goroot'
  2241.    would probably be an effective (as well as impressively obvious and
  2242.    stupid) way to get your sysadmin hacked off at you.
  2243.  
  2244. :hacked up: adj. Sufficiently patched, kluged, and tweaked that the
  2245.    surgical scars are beginning to crowd out normal tissue (compare
  2246.    {critical mass}).  Not all programs that are hacked become
  2247.    `hacked up'; if modifications are done with some eye to coherence
  2248.    and continued maintainability, the software may emerge better for
  2249.    the experience.  Contrast {hack up}.
  2250.  
  2251. :hacker: [originally, someone who makes furniture with an axe] n.
  2252.    1. A person who enjoys exploring the details of programmable
  2253.    systems and how to stretch their capabilities, as opposed to most
  2254.    users, who prefer to learn only the minimum necessary.  2. One who
  2255.    programs enthusiastically (even obsessively) or who enjoys
  2256.    programming rather than just theorizing about programming.  3. A
  2257.    person capable of appreciating {hack value}.  4. A person who is
  2258.    good at programming quickly.  5. An expert at a particular program,
  2259.    or one who frequently does work using it or on it; as in `a UNIX
  2260.    hacker'.  (Definitions 1 through 5 are correlated, and people who
  2261.    fit them congregate.)  6. An expert or enthusiast of any kind.  One
  2262.    might be an astronomy hacker, for example.  7. One who enjoys the
  2263.    intellectual challenge of creatively overcoming or circumventing
  2264.    limitations.  8. [deprecated] A malicious meddler who tries to
  2265.    discover sensitive information by poking around.  Hence `password
  2266.    hacker', `network hacker'.  The correct term is {cracker}.
  2267.  
  2268.    The term `hacker' also tends to connote membership in the global
  2269.    community defined by the net (see {network, the} and
  2270.    {Internet address}).  It also implies that the person described
  2271.    is seen to subscribe to some version of the hacker ethic (see
  2272.    {hacker ethic, the}.
  2273.  
  2274.    It is better to be described as a hacker by others than to describe
  2275.    oneself that way.  Hackers consider themselves something of an
  2276.    elite (a meritocracy based on ability), though one to which new
  2277.    members are gladly welcome.  There is thus a certain ego
  2278.    satisfaction to be had in identifying yourself as a hacker (but if
  2279.    you claim to be one and are not, you'll quickly be labeled
  2280.    {bogus}).  See also {wannabee}.
  2281.  
  2282. :hacker ethic, the: n. 1. The belief that information-sharing
  2283.    is a powerful positive good, and that it is an ethical duty of
  2284.    hackers to share their expertise by writing free software and
  2285.    facilitating access to information and to computing resources
  2286.    wherever possible.  2. The belief that system-cracking for fun
  2287.    and exploration is ethically OK as long as the cracker commits
  2288.    no theft, vandalism, or breach of confidentiality.
  2289.   
  2290.    Both of these normative ethical principles are widely, but by no
  2291.    means universally, accepted among hackers. Most hackers subscribe
  2292.    to the hacker ethic in sense 1, and many act on it by writing and
  2293.    giving away free software.  A few go further and assert that
  2294.    *all* information should be free and *any* proprietary
  2295.    control of it is bad; this is the philosophy behind the {GNU}
  2296.    project.
  2297.  
  2298.    Sense 2 is more controversial: some people consider the act of
  2299.    cracking itself to be unethical, like breaking and entering.
  2300.    But this principle at least moderates the behavior of people who
  2301.    see themselves as `benign' crackers (see also {samurai}).  On
  2302.    this view, it is one of the highest forms of hackerly courtesy
  2303.    to (a) break into a system, and then (b) explain to the sysop,
  2304.    preferably by email from a {superuser} account, exactly how it
  2305.    was done and how the hole can be plugged --- acting as an
  2306.    unpaid (and unsolicited) {tiger team}.
  2307.  
  2308.    The most reliable manifestation of either version of the hacker
  2309.    ethic is that almost all hackers are actively willing to share
  2310.    technical tricks, software, and (where possible) computing
  2311.    resources with other hackers.  Huge cooperative networks such as
  2312.    {USENET}, {FidoNet} and Internet (see {Internet address})
  2313.    can function without central control because of this trait; they
  2314.    both rely on and reinforce a sense of community that may be
  2315.    hackerdom's most valuable intangible asset.
  2316.  
  2317. :hacking run: [analogy with `bombing run' or `speed run'] n. A
  2318.    hack session extended long outside normal working times, especially
  2319.    one longer than 12 hours.  May cause you to `change phase the hard
  2320.    way' (see {phase}).
  2321.  
  2322. :Hacking X for Y: [ITS] n. Ritual phrasing of part of the
  2323.    information which ITS made publicly available about each user.
  2324.    This information (the INQUIR record) was a sort of form in which
  2325.    the user could fill out various fields.  On display, two of these
  2326.    fields were always combined into a project description of the form
  2327.    "Hacking X for Y" (e.g., `"Hacking perceptrons for
  2328.    Minsky"').  This form of description became traditional and has
  2329.    since been carried over to other systems with more general
  2330.    facilities for self-advertisement (such as UNIX {plan
  2331.    file}s).
  2332.  
  2333. :Hackintosh: n. 1. An Apple Lisa that has been hacked into emulating a
  2334.    Macintosh (also called a `Mac XL').  2. A Macintosh assembled
  2335.    from parts theoretically belonging to different models in the line.
  2336.  
  2337. :hackish: /hak'ish/ adj. (also {hackishness} n.) 1. Said of
  2338.    something that is or involves a hack.  2. Of or pertaining to
  2339.    hackers or the hacker subculture.  See also {true-hacker}.
  2340.  
  2341. :hackishness: n. The quality of being or involving a hack.  This
  2342.    term is considered mildly silly.  Syn.  {hackitude}.
  2343.  
  2344. :hackitude: n. Syn. {hackishness}; this word is considered sillier.
  2345.  
  2346. :hair: [back-formation from {hairy}] n. The complications that
  2347.    make something hairy.  "Decoding {TECO} commands requires a
  2348.    certain amount of hair."  Often seen in the phrase `infinite
  2349.    hair', which connotes extreme complexity.  Also in `hairiferous'
  2350.    (tending to promote hair growth): "GNUMACS elisp encourages lusers
  2351.    to write complex editing modes."  "Yeah, it's pretty hairiferous
  2352.    all right." (or just: "Hair squared!")
  2353.  
  2354. :hairy: adj. 1. Annoyingly complicated.  "{DWIM} is incredibly
  2355.    hairy."  2. Incomprehensible.  "{DWIM} is incredibly hairy."
  2356.    3. Of people, high-powered, authoritative, rare, expert, and/or
  2357.    incomprehensible.  Hard to explain except in context: "He knows
  2358.    this hairy lawyer who says there's nothing to worry about."  See
  2359.    also {hirsute}.
  2360.  
  2361.    A well-known result in topology called the Brouwer Fixed-Point
  2362.    Theorem states that any continuous transformation of a surface into
  2363.    itself has at least one fixed point.  Mathematically literate
  2364.    hackers tend to associate the term `hairy' with the informal
  2365.    version of this theorem; "You can't comb a hairy ball smooth."
  2366.  
  2367.    The adjective `long-haired' is well-attested to have been in
  2368.    slang use among scientists and engineers during the early 1950s; it
  2369.    was equivalent to modern `hairy' senses 1 and 2, and was very
  2370.    likely ancestral to the hackish use.  In fact the noun
  2371.    `long-hair' was at the time used to describe a person satisfying
  2372.    sense 3.  Both senses probably passed out of use when long hair
  2373.    was adopted as a signature trait by the 1960s counterculture,
  2374.    leaving hackish `hairy' as a sort of stunted mutant relic.
  2375.  
  2376. :HAKMEM: /hak'mem/ n. MIT AI Memo 239 (February 1972).  A
  2377.    legendary collection of neat mathematical and programming hacks
  2378.    contributed by many people at MIT and elsewhere.  (The title of the
  2379.    memo really is "HAKMEM", which is a 6-letterism for `hacks
  2380.    memo'.)  Some of them are very useful techniques, powerful
  2381.    theorems, or interesting unsolved problems, but most fall into the
  2382.    category of mathematical and computer trivia.  Here is a sampling
  2383.    of the entries (with authors), slightly paraphrased:
  2384.  
  2385.    Item 41 (Gene Salamin): There are exactly 23,000 prime numbers less
  2386.    than 2^18.
  2387.  
  2388.    Item 46 (Rich Schroeppel): The most *probable* suit
  2389.    distribution in bridge hands is 4-4-3-2, as compared to 4-3-3-3,
  2390.    which is the most *evenly* distributed.  This is because the
  2391.    world likes to have unequal numbers: a thermodynamic effect saying
  2392.    things will not be in the state of lowest energy, but in the state
  2393.    of lowest disordered energy.
  2394.  
  2395.    Item 81 (Rich Schroeppel): Count the magic squares of order 5
  2396.    (that is, all the 5-by-5 arrangements of the numbers from 1 to 25
  2397.    such that all rows, columns, and diagonals add up to the same
  2398.    number).  There are about 320 million, not counting those that
  2399.    differ only by rotation and reflection.
  2400.  
  2401.    Item 154 (Bill Gosper): The myth that any given programming
  2402.    language is machine independent is easily exploded by computing the
  2403.    sum of powers of 2.  If the result loops with period = 1
  2404.    with sign +, you are on a sign-magnitude machine.  If the
  2405.    result loops with period = 1 at -1, you are on a
  2406.    twos-complement machine.  If the result loops with period greater
  2407.    than 1, including the beginning, you are on a ones-complement
  2408.    machine.  If the result loops with period greater than 1, not
  2409.    including the beginning, your machine isn't binary --- the pattern
  2410.    should tell you the base.  If you run out of memory, you are on a
  2411.    string or bignum system.  If arithmetic overflow is a fatal error,
  2412.    some fascist pig with a read-only mind is trying to enforce machine
  2413.    independence.  But the very ability to trap overflow is machine
  2414.    dependent.  By this strategy, consider the universe, or, more
  2415.    precisely, algebra: Let X = the sum of many powers of 2 =
  2416.    ...111111.  Now add X to itself:
  2417.    X + X = ...111110 Thus, 2X = X - 1, so
  2418.    X = -1.  Therefore algebra is run on a machine (the
  2419.    universe) that is two's-complement.
  2420.  
  2421.    Item 174 (Bill Gosper and Stuart Nelson): 21963283741 is the only
  2422.    number such that if you represent it on the {PDP-10} as both an
  2423.    integer and a floating-point number, the bit patterns of the two
  2424.    representations are identical.
  2425.  
  2426.    Item 176 (Gosper): The "banana phenomenon" was encountered when
  2427.    processing a character string by taking the last 3 letters typed
  2428.    out, searching for a random occurrence of that sequence in the
  2429.    text, taking the letter following that occurrence, typing it out,
  2430.    and iterating.  This ensures that every 4-letter string output
  2431.    occurs in the original.  The program typed BANANANANANANANA....  We
  2432.    note an ambiguity in the phrase, "the Nth occurrence of."  In one
  2433.    sense, there are five 00's in 0000000000; in another, there are
  2434.    nine.  The editing program TECO finds five.  Thus it finds only the
  2435.    first ANA in BANANA, and is thus obligated to type N next.  By
  2436.    Murphy's Law, there is but one NAN, thus forcing A, and thus a
  2437.    loop.  An option to find overlapped instances would be useful,
  2438.    although it would require backing up N - 1 characters before
  2439.    seeking the next N-character string.
  2440.  
  2441.    Note: This last item refers to a {Dissociated Press}
  2442.    implementation.  See also {banana problem}.
  2443.  
  2444.    HAKMEM also contains some rather more complicated mathematical and
  2445.    technical items, but these examples show some of its fun flavor.
  2446.  
  2447. :hakspek: /hak'speek/ n. A shorthand method of spelling found on
  2448.    many British academic bulletin boards and {talker system}s.
  2449.    Syllables and whole words in a sentence are replaced by single
  2450.    ASCII characters the names of which are phonetically similar or
  2451.    equivalent, while multiple letters are usually dropped.  Hence,
  2452.    `for' becomes `4'; `two', `too', and `to' become `2'; `ck'
  2453.    becomes `k'.  "Before I see you tomorrow" becomes "b4 i c u
  2454.    2moro".  First appeared in London about 1986, and was probably
  2455.    caused by the slowness of available talker systems, which
  2456.    operated on archaic machines with outdated operating systems and
  2457.    no standard methods of communication.  Has become rarer since.
  2458.    See also {talk mode}.
  2459.  
  2460. :hammer: vt. Commonwealth hackish syn. for {bang on}.
  2461.  
  2462. :hamster: n. 1. [Fairchild] A particularly slick little piece of
  2463.    code that does one thing well; a small, self-contained hack.  The
  2464.    image is of a hamster happily spinning its exercise wheel.  2. A
  2465.    tailless mouse; that is, one with an infrared link to a receiver on
  2466.    the machine, as opposed to the conventional cable.  3. [UK] Any
  2467.    item of hardware made by Amstrad, a company famous for its cheap
  2468.    plastic PC-almost-compatibles.
  2469.  
  2470. :hand cruft: [pun on `hand craft'] vt. See {cruft}, sense 3.
  2471.  
  2472. :hand-hacking: n. 1. The practice of translating {hot spot}s from
  2473.    an {HLL} into hand-tuned assembler, as opposed to trying to
  2474.    coerce the compiler into generating better code.  Both the term and
  2475.    the practice are becoming uncommon.  See {tune}, {bum}, {by
  2476.    hand}; syn. with v. {cruft}.  2. More generally, manual
  2477.    construction or patching of data sets that would normally be
  2478.    generated by a translation utility and interpreted by another
  2479.    program, and aren't really designed to be read or modified by
  2480.    humans.
  2481.  
  2482. :handle: n. 1. [from CB slang] An electronic pseudonym; a `nom
  2483.    de guerre' intended to conceal the user's true identity.  Network
  2484.    and BBS handles function as the same sort of simultaneous
  2485.    concealment and display one finds on Citizen's Band radio, from
  2486.    which the term was adopted.  Use of grandiose handles is
  2487.    characteristic of {cracker}s, {weenie}s, {spod}s, and
  2488.    other lower forms of network life; true hackers travel on their own
  2489.    reputations rather than invented legendry.  2. [Mac] A pointer to a
  2490.    pointer to dynamically-allocated memory; the extra level of
  2491.    indirection allows on-the-fly memory compaction (to cut down on
  2492.    fragmentation) or aging out of unused resources, with minimal
  2493.    impact on the (possibly multiple) parts of the larger program
  2494.    containing references to the allocated memory.  Compare {snap}
  2495.    (to snap a handle would defeat its purpose); see also {aliasing
  2496.    bug}, {dangling pointer}.
  2497.  
  2498. :hand-roll: [from obs. mainstream slang `hand-rolled' in
  2499.    opposition to `ready-made', referring to cigarettes] v. To
  2500.    perform a normally automated software installation or configuration
  2501.    process {by hand}; implies that the normal process failed due to
  2502.    bugs in the configurator or was defeated by something exceptional
  2503.    in the local environment.  "The worst thing about being a gateway
  2504.    between four different nets is having to hand-roll a new sendmail
  2505.    configuration every time any of them upgrades."
  2506.  
  2507. :handshaking: n. Hardware or software activity designed to start or
  2508.    keep two machines or programs in synchronization as they {do
  2509.    protocol}.  Often applied to human activity; thus, a hacker might
  2510.    watch two people in conversation nodding their heads to indicate
  2511.    that they have heard each others' points and say "Oh, they're
  2512.    handshaking!".  See also {protocol}.
  2513.  
  2514. :handwave: [poss. from gestures characteristic of stage magicians]
  2515.    1. v. To gloss over a complex point; to distract a listener; to
  2516.    support a (possibly actually valid) point with blatantly faulty
  2517.    logic.  2. n. The act of handwaving.  "Boy, what a handwave!"
  2518.  
  2519.    If someone starts a sentence with "Clearly..." or
  2520.    "Obviously..." or "It is self-evident that...", it is
  2521.    a good bet he is about to handwave (alternatively, use of these
  2522.    constructions in a sarcastic tone before a paraphrase of someone
  2523.    else's argument suggests that it is a handwave).  The theory behind
  2524.    this term is that if you wave your hands at the right moment, the
  2525.    listener may be sufficiently distracted to not notice that what you
  2526.    have said is {bogus}.  Failing that, if a listener does object,
  2527.    you might try to dismiss the objection with a wave of your hand.
  2528.  
  2529.    The use of this word is often accompanied by gestures: both hands
  2530.    up, palms forward, swinging the hands in a vertical plane pivoting
  2531.    at the elbows and/or shoulders (depending on the magnitude of the
  2532.    handwave); alternatively, holding the forearms in one position
  2533.    while rotating the hands at the wrist to make them flutter.  In
  2534.    context, the gestures alone can suffice as a remark; if a speaker
  2535.    makes an outrageously unsupported assumption, you might simply wave
  2536.    your hands in this way, as an accusation, far more eloquent than
  2537.    words could express, that his logic is faulty.
  2538.  
  2539. :hang: v. 1. To wait for an event that will never occur.  "The
  2540.    system is hanging because it can't read from the crashed drive".
  2541.    See {wedged}, {hung}.  2. To wait for some event to occur; to
  2542.    hang around until something happens.  "The program displays a menu
  2543.    and then hangs until you type a character."  Compare {block}.
  2544.    3. To attach a peripheral device, esp. in the construction `hang
  2545.    off':  "We're going to hang another tape drive off the file
  2546.    server."  Implies a device attached with cables, rather than
  2547.    something that is strictly inside the machine's chassis.
  2548.  
  2549. :Hanlon's Razor: prov. A corollary of {Finagle's Law}, similar to
  2550.    Occam's Razor, that reads "Never attribute to malice that which can
  2551.    be adequately explained by stupidity."  The derivation of the
  2552.    common title Hanlon's Razor is unknown; a similar epigram has been
  2553.    attributed to William James.  Quoted here because it seems to be a
  2554.    particular favorite of hackers, often showing up in {fortune
  2555.    cookie} files and the login banners of BBS systems and commercial
  2556.    networks.  This probably reflects the hacker's daily experience of
  2557.    environments created by well-intentioned but short-sighted people. 
  2558.    Compare {Sturgeon's Law}.
  2559.  
  2560. :happily: adv.  Of software, used to emphasize that a program is
  2561.    unaware of some important fact about its environment, either
  2562.    because it has been fooled into believing a lie, or because it
  2563.    doesn't care.  The sense of `happy' here is not that of elation,
  2564.    but rather that of blissful ignorance.  "The program continues to
  2565.    run, happily unaware that its output is going to /dev/null."
  2566.  
  2567. :haque: /hak/ [USENET] n. Variant spelling of {hack}, used
  2568.    only for the noun form and connoting an {elegant} hack.
  2569.  
  2570. :hard boot: n. See {boot}.
  2571.  
  2572. :hardcoded: adj. 1. Said of data inserted directly into a program,
  2573.    where it cannot be easily modified, as opposed to data in some
  2574.    {profile}, resource (see {de-rezz} sense 2), or environment
  2575.    variable that a {user} or hacker can easily modify.  2. In C,
  2576.    this is esp. applied to use of a literal instead of a
  2577.    `#define' macro (see {magic number}).
  2578.  
  2579. :hardwarily: /hard-weir'*-lee/ adv. In a way pertaining to
  2580.    hardware.  "The system is hardwarily unreliable."  The adjective
  2581.    `hardwary' is *not* traditionally used, though it has recently
  2582.    been reported from the U.K.  See {softwarily}.
  2583.  
  2584. :hardwired: adj. 1. In software, syn. for {hardcoded}.  2. By
  2585.    extension, anything that is not modifiable, especially in the sense
  2586.    of customizable to one's particular needs or tastes.
  2587.  
  2588. :has the X nature: [seems to derive from Zen Buddhist koans of the
  2589.    form "Does an X have the Buddha-nature?"] adj. Common hacker
  2590.    construction for `is an X', used for humorous emphasis.  "Anyone
  2591.    who can't even use a program with on-screen help embedded in it
  2592.    truly has the {loser} nature!"  See also {the X that can be Y
  2593.    is not the true X}.
  2594.  
  2595. :hash bucket: n. A notional receptacle into which more than one
  2596.    thing accessed by the same key or short code might be dropped.
  2597.    When you look up a name in the phone book (for example), you
  2598.    typically hash it by extracting its first letter; the hash buckets
  2599.    are the alphabetically ordered letter sections.  This is used as
  2600.    techspeak with respect to code that uses actual hash functions; in
  2601.    jargon, it is used for human associative memory as well.  Thus, two
  2602.    things `in the same hash bucket' may be confused with each other.
  2603.    "If you hash English words only by length, you get too many common
  2604.    grammar words in the first couple of hash buckets." Compare {hash
  2605.    collision}.
  2606.  
  2607. :hash collision: [from the technical usage] n. (var. `hash
  2608.    clash') When used of people, signifies a confusion in associative
  2609.    memory or imagination, especially a persistent one (see
  2610.    {thinko}).  True story: One of us [ESR] was once on the phone
  2611.    with a friend about to move out to Berkeley.  When asked what he
  2612.    expected Berkeley to be like, the friend replied: "Well, I have
  2613.    this mental picture of naked women throwing Molotov cocktails, but
  2614.    I think that's just a collision in my hash tables."  Compare
  2615.    {hash bucket}.
  2616.  
  2617. :hat: n. Common (spoken) name for the circumflex (`^', ASCII
  2618.    1011110) character.  See {ASCII} for other synonyms.
  2619.  
  2620. :HCF: /H-C-F/ n. Mnemonic for `Halt and Catch Fire', any of
  2621.    several undocumented and semi-mythical machine instructions with
  2622.    destructive side-effects, supposedly included for test purposes on
  2623.    several well-known architectures going as far back as the IBM 360.
  2624.    The MC6800 microprocessor was the first for which an HCF opcode
  2625.    became widely known.  This instruction caused the processor to
  2626.    {toggle} a subset of the bus lines as rapidly as it could; in
  2627.    some configurations this could actually cause lines to burn
  2628.    up.
  2629.  
  2630. :heads down: [Sun] adj. Concentrating, usually so heavily and for so
  2631.    long that everything outside the focus area is missed.  See also
  2632.    {hack mode} and {larval stage}, although it is not confined to
  2633.    fledgling hackers.
  2634.  
  2635. :heartbeat: n. 1. The signal emitted by a Level 2 Ethernet
  2636.    transceiver at the end of every packet to show that the
  2637.    collision-detection circuit is still connected.  2. A periodic
  2638.    synchronization signal used by software or hardware, such as a bus
  2639.    clock or a periodic interrupt.  3. The `natural' oscillation
  2640.    frequency of a computer's clock crystal, before frequency division
  2641.    down to the machine's clock rate.  4. A signal emitted at regular
  2642.    intervals by software to demonstrate that it is still alive.
  2643.    Sometimes hardware is designed to reboot the machine if it stops
  2644.    hearing a heartbeat.  See also {breath-of-life packet}.
  2645.  
  2646. :heatseeker: [IBM] n. A customer who can be relied upon to buy,
  2647.    without fail, the latest version of an existing product (not quite
  2648.    the same as a member the {lunatic fringe}).  A 1993 example of a
  2649.    heatseeker is someone who, owning a 286 PC and Windows 3.0, goes
  2650.    out and buys Windows 3.1 (which offers no worthwhile benefits
  2651.    unless you have a 386).  If all customers were heatseekers, vast
  2652.    amounts of money could be made by just fixing the bugs in each
  2653.    release (n) and selling it to them as release (n+1).
  2654.  
  2655. :heavy metal: [Cambridge] n. Syn. {big iron}.
  2656.  
  2657. :heavy wizardry: n. Code or designs that trade on a particularly
  2658.    intimate knowledge or experience of a particular operating system
  2659.    or language or complex application interface.  Distinguished from
  2660.    {deep magic}, which trades more on arcane *theoretical*
  2661.    knowledge.  Writing device drivers is heavy wizardry; so is
  2662.    interfacing to {X} (sense 2) without a toolkit.  Esp. found in
  2663.    comments similar to "Heavy wizardry begins here ...".  Compare
  2664.    {voodoo programming}.
  2665.  
  2666. :heavyweight: adj. High-overhead; {baroque}; code-intensive;
  2667.    featureful, but costly.  Esp. used of communication protocols,
  2668.    language designs, and any sort of implementation in which maximum
  2669.    generality and/or ease of implementation has been pushed at the
  2670.    expense of mundane considerations such as speed, memory
  2671.    utilization, and startup time.  {EMACS} is a heavyweight editor;
  2672.    {X} is an *extremely* heavyweight window system.  This term
  2673.    isn't pejorative, but one hacker's heavyweight is another's
  2674.    {elephantine} and a third's {monstrosity}.  Oppose
  2675.    `lightweight'.  Usage: now borders on techspeak, especially in
  2676.    the compound `heavyweight process'.
  2677.  
  2678. :heisenbug: /hi:'zen-buhg/ [from Heisenberg's Uncertainty
  2679.    Principle in quantum physics] n. A bug that disappears or alters
  2680.    its behavior when one attempts to probe or isolate it.  Antonym of
  2681.    {Bohr bug}; see also {mandelbug}, {schroedinbug}.  In C,
  2682.    nine out of ten heisenbugs result from either {fandango on core}
  2683.    phenomena (esp. lossage related to corruption of the malloc
  2684.    {arena}) or errors that {smash the stack}.
  2685.  
  2686. :Helen Keller mode: n. 1. State of a hardware or software system
  2687.    that is deaf, dumb, and blind, i.e., accepting no input and
  2688.    generating no output, usually due to an infinite loop or some other
  2689.    excursion into {deep space}.  (Unfair to the real Helen Keller,
  2690.    whose success at learning speech was triumphant.)  See also
  2691.    {go flatline}, {catatonic}.  2. On IBM PCs under DOS, refers
  2692.    to a specific failure mode in which a screen saver has kicked in
  2693.    over an {ill-behaved} application which bypasses the interrupts
  2694.    the screen saver watches for activity.  Your choices are to try to
  2695.    get from the program's current state through a successful
  2696.    save-and-exit without being able to see what you're doing, or
  2697.    re-boot the machine.  This isn't (strictly speaking) a crash.
  2698.  
  2699. :hello, sailor!: interj. Occasional West Coast equivalent of
  2700.    {hello, world}; seems to have originated at SAIL, later
  2701.    associated with the game {Zork} (which also included "hello,
  2702.    aviator" and "hello, implementor").  Originally from the
  2703.    traditional hooker's greeting to a swabbie fresh off the boat, of
  2704.    course.
  2705.  
  2706. :hello, wall!: excl. See {wall}.
  2707.  
  2708. :hello, world: interj. 1. The canonical minimal test message in the
  2709.    C/UNIX universe.  2. Any of the minimal programs that emit this
  2710.    message.  Traditionally, the first program a C coder is supposed to
  2711.    write in a new environment is one that just prints "hello, world"
  2712.    to standard output (and indeed it is the first example program
  2713.    in {K&R}).  Environments that generate an unreasonably large
  2714.    executable for this trivial test or which require a {hairy}
  2715.    compiler-linker invocation to generate it are considered to
  2716.    {lose} (see {X}).  3. Greeting uttered by a hacker making an
  2717.    entrance or requesting information from anyone present.  "Hello,
  2718.    world!  Is the {VAX} back up yet?"
  2719.  
  2720. :hex: n. 1. Short for {{hexadecimal}}, base 16.  2. A 6-pack
  2721.    of anything (compare {quad}, sense 2).  Neither usage has
  2722.    anything to do with {magic} or {black art}, though the pun is
  2723.    appreciated and occasionally used by hackers.  True story: As a
  2724.    joke, some hackers once offered some surplus ICs for sale to be
  2725.    worn as protective amulets against hostile magic.  The chips were,
  2726.    of course, hex inverters.
  2727.  
  2728. :hexadecimal:: n. Base 16.  Coined in the early 1960s to replace
  2729.    earlier `sexadecimal', which was too racy and amusing for stuffy
  2730.    IBM, and later adopted by the rest of the industry.
  2731.  
  2732.    Actually, neither term is etymologically pure.  If we take
  2733.    `binary' to be paradigmatic, the most etymologically correct
  2734.    term for base 10, for example, is `denary', which comes from
  2735.    `deni' (ten at a time, ten each), a Latin `distributive'
  2736.    number; the corresponding term for base-16 would be something like
  2737.    `sendenary'.  `Decimal' is from an ordinal number; the
  2738.    corresponding prefix for 6 would imply something like
  2739.    `sextidecimal'.  The `sexa-' prefix is Latin but incorrect in
  2740.    this context, and `hexa-' is Greek.  The word `octal' is
  2741.    similarly incorrect; a correct form would be `octaval' (to go
  2742.    with decimal), or `octonary' (to go with binary).  If anyone ever
  2743.    implements a base-3 computer, computer scientists will be faced
  2744.    with the unprecedented dilemma of a choice between two
  2745.    *correct* forms; both `ternary' and `trinary' have a
  2746.    claim to this throne.
  2747.  
  2748. :hexit: /hek'sit/ n. A hexadecimal digit (0--9, and A--F or a--f).
  2749.    Used by people who claim that there are only *ten* digits,
  2750.    dammit; sixteen-fingered human beings are rather rare, despite what
  2751.    some keyboard designs might seem to imply (see {space-cadet
  2752.    keyboard}).
  2753.  
  2754. :HHOK: See {ha ha only serious}.
  2755.  
  2756. :HHOS: See {ha ha only serious}.
  2757.  
  2758. :hidden flag: [scientific computation] n. An extra option added to a
  2759.    routine without changing the calling sequence.  For example,
  2760.    instead of adding an explicit input variable to instruct a routine
  2761.    to give extra diagnostic output, the programmer might just add a
  2762.    test for some otherwise meaningless feature of the existing inputs,
  2763.    such as a negative mass.  Liberal use of hidden flags can make a
  2764.    program very hard to debug and understand.
  2765.  
  2766. :high bit: [from `high-order bit'] n. 1. The most significant
  2767.    bit in a byte.  2. By extension, the most significant part of
  2768.    something other than a data byte: "Spare me the whole {saga},
  2769.    just give me the high bit."  See also {meta bit}, {hobbit},
  2770.    {dread high-bit disease}, and compare the mainstream slang
  2771.    `bottom line'.
  2772.  
  2773. :high moby: /hi:' mohb'ee/ n. The high half of a 512K
  2774.    {PDP-10}'s physical address space; the other half was of course
  2775.    the low moby.  This usage has been generalized in a way that has
  2776.    outlasted the {PDP-10}; for example, at the 1990 Washington D.C.
  2777.    Area Science Fiction Conclave (Disclave), when a miscommunication
  2778.    resulted in two separate wakes being held in commemoration of the
  2779.    shutdown of MIT's last {{ITS}} machines, the one on the upper
  2780.    floor was dubbed the `high moby' and the other the `low moby'.
  2781.    All parties involved {grok}ked this instantly.  See {moby}.
  2782.  
  2783. :highly: [scientific computation] adv. The preferred modifier for
  2784.    overstating an understatement.  As in: `highly nonoptimal', the
  2785.    worst possible way to do something; `highly nontrivial', either
  2786.    impossible or requiring a major research project; `highly
  2787.    nonlinear', completely erratic and unpredictable; `highly
  2788.    nontechnical', drivel written for {luser}s, oversimplified to the
  2789.    point of being misleading or incorrect (compare {drool-proof
  2790.    paper}).  In other computing cultures, postfixing of {in the
  2791.    extreme} might be preferred.
  2792.  
  2793. :hing: // [IRC] n. Fortuitous typo for `hint', now in wide
  2794.    intentional use among players of {initgame}.  Compare
  2795.    {newsfroup}, {filk}.
  2796.  
  2797. :hirsute: adj. Occasionally used humorously as a synonym for {hairy}.
  2798.  
  2799. :HLL: /H-L-L/ n. [High-Level Language (as opposed to assembler)]
  2800.    Found primarily in email and news rather than speech.  Rarely, the
  2801.    variants `VHLL' and `MLL' are found.  VHLL stands for
  2802.    `Very-High-Level Language' and is used to describe a
  2803.    {bondage-and-discipline language} that the speaker happens to
  2804.    like; Prolog and Backus's FP are often called VHLLs.  `MLL' stands
  2805.    for `Medium-Level Language' and is sometimes used half-jokingly to
  2806.    describe {C}, alluding to its `structured-assembler' image.
  2807.    See also {languages of choice}.
  2808.  
  2809. :hobbit: n. 1. The High Order Bit of a byte; same as the {meta
  2810.    bit} or {high bit}.  2. The non-ITS name of vad@ai.mit.edu
  2811.    (*Hobbit*), master of lasers.
  2812.  
  2813. :hog: n.,vt. 1. Favored term to describe programs or hardware that
  2814.    seem to eat far more than their share of a system's resources,
  2815.    esp. those which noticeably degrade interactive response.
  2816.    *Not* used of programs that are simply extremely large or
  2817.    complex or that are merely painfully slow themselves (see {pig,
  2818.    run like a}).  More often than not encountered in qualified forms,
  2819.    e.g., `memory hog', `core hog', `hog the processor', `hog
  2820.    the disk'.  "A controller that never gives up the I/O bus
  2821.    gets killed after the bus-hog timer expires."   2. Also said
  2822.    of *people* who use more than their fair share of resources
  2823.    (particularly disk, where it seems that 10% of the people use 90%
  2824.    of the disk, no matter how big the disk is or how many people use
  2825.    it).  Of course, once disk hogs fill up one filesystem, they
  2826.    typically find some other new one to infect, claiming to the
  2827.    sysadmin that they have an important new project to complete.
  2828.  
  2829. :holy wars: [from {USENET}, but may predate it] n. {flame
  2830.    war}s over {religious issues}.  The paper by Danny Cohen that
  2831.    popularized the terms {big-endian} and {little-endian} in
  2832.    connection with the LSB-first/MSB-first controversy was entitled
  2833.    "On Holy Wars and a Plea for Peace".  Other perennial Holy
  2834.    Wars have included {EMACS} vs. {vi}, my personal computer vs.
  2835.    everyone else's personal computer, {{ITS}} vs. {{UNIX}},
  2836.    {{UNIX}} vs. {VMS}, {BSD} UNIX vs. {USG UNIX}, {C} vs.
  2837.    {{Pascal}}, {C} vs. {LISP}, etc., ad nauseam.  The
  2838.    characteristic that distinguishes holy wars from normal
  2839.    technical disputes is that in a holy wars most of the participants
  2840.    spend their time trying to pass off personal value choices and
  2841.    cultural attachments as objective technical evaluations. See also
  2842.    {theology}.
  2843.  
  2844. :home box: n. A hacker's personal machine, especially one he or she
  2845.    owns.  "Yeah?  Well, *my* home box runs a full 4.2 BSD, so
  2846.    there!"
  2847.  
  2848. :home machine: n. 1. Syn. {home box}.  2. The machine that
  2849.    receives your email.  These senses might be distinct, for example,
  2850.    for a hacker who owns one computer at home, but reads email at
  2851.    work.
  2852. :hook: n. A software or hardware feature included in order to
  2853.    simplify later additions or changes by a user.  For example, a
  2854.    simple program that prints numbers might always print them in base
  2855.    10, but a more flexible version would let a variable determine what
  2856.    base to use; setting the variable to 5 would make the program print
  2857.    numbers in base 5.  The variable is a simple hook.  An even more
  2858.    flexible program might examine the variable and treat a value of 16
  2859.    or less as the base to use, but treat any other number as the
  2860.    address of a user-supplied routine for printing a number.  This is
  2861.    a {hairy} but powerful hook; one can then write a routine to
  2862.    print numbers as Roman numerals, say, or as Hebrew characters, and
  2863.    plug it into the program through the hook.  Often the difference
  2864.    between a good program and a superb one is that the latter has
  2865.    useful hooks in judiciously chosen places.  Both may do the
  2866.    original job about equally well, but the one with the hooks is much
  2867.    more flexible for future expansion of capabilities ({EMACS}, for
  2868.    example, is *all* hooks).  The term `user exit' is
  2869.    synonymous but much more formal and less hackish.
  2870.  
  2871. :hop: n. One file transmission in a series required to get a file
  2872.    from point A to point B on a store-and-forward network.  On such
  2873.    networks (including {UUCPNET} and {FidoNet}), the important
  2874.    inter-machine metric is the number of hops in the shortest path
  2875.    between them, rather than their geographical separation.  See
  2876.    {bang path}.
  2877.  
  2878. :hose: 1. vt. To make non-functional or greatly degraded in
  2879.    performance.  "That big ray-tracing program really hoses the
  2880.    system."  See {hosed}.  2. n. A narrow channel through which
  2881.    data flows under pressure.  Generally denotes data paths that
  2882.    represent performance bottlenecks.  3. n. Cabling, especially
  2883.    thick Ethernet cable.  This is sometimes called `bit hose' or
  2884.    `hosery' (play on `hosiery') or `etherhose'.  See also
  2885.    {washing machine}.
  2886.  
  2887. :hosed: adj. Same as {down}.  Used primarily by UNIX hackers.
  2888.    Humorous: also implies a condition thought to be relatively easy to
  2889.    reverse.  Probably derived from the Canadian slang `hoser'
  2890.    popularized by the Bob and Doug Mackenzie skits on SCTV.  See
  2891.    {hose}.  It is also widely used of people in the mainstream sense
  2892.    of `in an extremely unfortunate situation'.
  2893.  
  2894.    Once upon a time, a Cray that had been experiencing periodic
  2895.    difficulties crashed, and it was announced to have been hosed.
  2896.    It was discovered that the crash was due to the disconnection of
  2897.    some coolant hoses.  The problem was corrected, and users were then
  2898.    assured that everything was OK because the system had been rehosed.
  2899.    See also {dehose}.
  2900.  
  2901. :hot spot: n. 1. [primarily used by C/UNIX programmers, but
  2902.    spreading] It is received wisdom that in most programs, less than
  2903.    10% of the code eats 90% of the execution time; if one were to
  2904.    graph instruction visits versus code addresses, one would typically
  2905.    see a few huge spikes amidst a lot of low-level noise.  Such spikes
  2906.    are called `hot spots' and are good candidates for heavy
  2907.    optimization or {hand-hacking}.  The term is especially used of
  2908.    tight loops and recursions in the code's central algorithm, as
  2909.    opposed to (say) initial set-up costs or large but infrequent I/O
  2910.    operations.  See {tune}, {bum}, {hand-hacking}.  2. The
  2911.    active location of a cursor on a bit-map display.  "Put the
  2912.    mouse's hot spot on the `ON' widget and click the left button."
  2913.    3. A screen region that is sensitive to mouse clicks, which trigger
  2914.    some action.  Hypertext help screens are an example, in which a hot
  2915.    spot exists in the vicinity of any word for which additional
  2916.    material is available.  4. In a massively parallel computer with
  2917.    shared memory, the one location that all 10,000 processors are
  2918.    trying to read or write at once (perhaps because they are all doing
  2919.    a {busy-wait} on the same lock).
  2920.  
  2921. :house wizard: [prob. from ad-agency lingo, `house freak'] n. A
  2922.    hacker occupying a technical-specialist, R&D, or systems position
  2923.    at a commercial shop.  A really effective house wizard can have
  2924.    influence out of all proportion to his/her ostensible rank and
  2925.    still not have to wear a suit.  Used esp. of UNIX wizards.  The
  2926.    term `house guru' is equivalent.
  2927.  
  2928. :HP-SUX: /H-P suhks/ n. Unflattering hackerism for HP-UX,
  2929.    Hewlett-Packard's UNIX port, which features some truly unique bogosities
  2930.    in the filesystem internals and elsewhere (these occasionally create
  2931.    portability problems).  HP-UX is often referred to as `hockey-pux'
  2932.    inside HP, and one respondent claims that the proper pronunciation
  2933.    is /H-P ukkkhhhh/ as though one were about to spit.  Another such
  2934.    alternate spelling and pronunciation is "H-PUX" /H-puhks/.
  2935.    Hackers at HP/Apollo (the former Apollo Computers which was
  2936.    swallowed by HP in 1989) have been heard to complain that
  2937.    Mr. Packard should have pushed to have his name first, if for no
  2938.    other reason than the greater eloquence of the resulting acronym.
  2939.    Compare {AIDX}, {buglix}.  See also {Nominal Semidestructor},
  2940.    {Telerat}, {Open DeathTrap}, {ScumOS}, {sun-stools},
  2941.    {terminak}.
  2942.  
  2943. :huff: v. To compress data using a Huffman code.  Various programs
  2944.    that use such methods have been called `HUFF' or some variant
  2945.    thereof.  Oppose {puff}.  Compare {crunch}, {compress}.
  2946.  
  2947. :humma: // excl. A filler word used on various `chat' and
  2948.    `talk' programs when you had nothing to say but felt that it was
  2949.    important to say something.  The word apparently originated (at
  2950.    least with this definition) on the MECC Timeshare System (MTS, a
  2951.    now-defunct educational time-sharing system running in Minnesota
  2952.    during the 1970s and the early 1980s) but was later sighted on
  2953.    early UNIX systems.
  2954.  
  2955. :Humor, Hacker:: n. A distinctive style of shared intellectual
  2956.    humor found among hackers, having the following marked
  2957.    characteristics:
  2958.  
  2959.    1. Fascination with form-vs.-content jokes, paradoxes, and humor
  2960.    having to do with confusion of metalevels (see {meta}).  One way
  2961.    to make a hacker laugh: hold a red index card in front of him/her
  2962.    with "GREEN" written on it, or vice-versa (note, however, that
  2963.    this is funny only the first time).
  2964.  
  2965.    2. Elaborate deadpan parodies of large intellectual constructs,
  2966.    such as specifications (see {write-only memory}), standards
  2967.    documents, language descriptions (see {INTERCAL}), and even
  2968.    entire scientific theories (see {quantum bogodynamics},
  2969.    {computron}).
  2970.  
  2971.    3. Jokes that involve screwily precise reasoning from bizarre,
  2972.    ludicrous, or just grossly counter-intuitive premises.
  2973.  
  2974.    4. Fascination with puns and wordplay.
  2975.  
  2976.    5. A fondness for apparently mindless humor with subversive
  2977.    currents of intelligence in it --- for example, old Warner Brothers
  2978.    and Rocky & Bullwinkle cartoons, the Marx brothers, the early
  2979.    B-52s, and Monty Python's Flying Circus.  Humor that combines this
  2980.    trait with elements of high camp and slapstick is especially
  2981.    favored.
  2982.  
  2983.    6. References to the symbol-object antinomies and associated ideas
  2984.    in Zen Buddhism and (less often) Taoism.  See {has the X nature},
  2985.    {Discordianism}, {zen}, {ha ha only serious}, {AI koans}.
  2986.  
  2987.    See also {filk}, {retrocomputing}, and {Appendix B}.  If you
  2988.    have an itchy feeling that all 6 of these traits are really aspects
  2989.    of one thing that is incredibly difficult to talk about exactly,
  2990.    you are (a) correct and (b) responding like a hacker.  These traits
  2991.    are also recognizable (though in a less marked form) throughout
  2992.    {{science-fiction fandom}}.
  2993.  
  2994. :hung: [from `hung up'] adj. Equivalent to {wedged}, but more
  2995.    common at UNIX/C sites.  Not generally used of people.  Syn. with
  2996.    {locked up}, {wedged}; compare {hosed}.  See also {hang}.
  2997.    A hung state is distinguished from {crash}ed or {down}, where the
  2998.    program or system is also unusable but because it is not running
  2999.    rather than because it is waiting for something.  However, the
  3000.    recovery from both situations is often the same.
  3001.  
  3002. :hungry puppy: n. Syn. {slopsucker}.
  3003.  
  3004. :hungus: /huhng'g*s/ [perhaps related to slang `humongous'] adj.
  3005.    Large, unwieldy, usually unmanageable.  "TCP is a hungus piece of
  3006.    code."  "This is a hungus set of modifications."
  3007.  
  3008. :hyperspace: /hi:'per-spays/ n. A memory location that is *far*
  3009.    away from where the program counter should be pointing, often
  3010.    inaccessible because it is not even mapped in.  "Another core
  3011.    dump --- looks like the program jumped off to hyperspace
  3012.    somehow."  (Compare {jump off into never-never land}.)  This
  3013.    usage is from the SF notion of a spaceship jumping `into
  3014.    hyperspace', that is, taking a shortcut through higher-dimensional
  3015.    space --- in other words, bypassing this universe.  The variant
  3016.    `east hyperspace' is recorded among CMU and Bliss hackers.
  3017.  
  3018. :hysterical reasons: (also `hysterical raisins') n.  A variant on
  3019.    the stock phrase "for historical reasons", it specifically
  3020.    indicates that something must be done in some stupid way for
  3021.    backwards compatibility, and moreover that the feature it must be
  3022.    compatible with was the result of a bad design in the first place.
  3023.    "All IBM PC video adapters have to support MDA text mode for
  3024.    hysterical reasons."  Compare {bug-for-bug compatible}.
  3025.  
  3026. = I =
  3027. =====
  3028.  
  3029. :I didn't change anything!: interj. An aggrieved cry often heard as
  3030.    bugs manifest during a regression test.  The {canonical} reply to
  3031.    this assertion is "Then it works just the same as it did before,
  3032.    doesn't it?"  See also {one-line fix}.  This is also heard from
  3033.    applications programmers trying to blame an obvious applications
  3034.    problem on an unrelated systems software change, for example a
  3035.    divide-by-0 fault after terminals were added to a network.
  3036.    Usually, their statement is found to be false.  Upon close
  3037.    questioning, they will admit some major restructuring of the
  3038.    program that shouldn't have broken anything, in their opinion,
  3039.    but which actually {hosed} the code completely.
  3040.  
  3041. :I see no X here.: Hackers (and the interactive computer games they
  3042.    write) traditionally favor this slightly marked usage over other
  3043.    possible equivalents such as "There's no X here!" or "X is
  3044.    missing."  or "Where's the X?".  This goes back to the original
  3045.    PDP-10 {ADVENT}, which would respond in this wise if you asked
  3046.    it to do something involving an object not present at your location
  3047.    in the game.
  3048.  
  3049. :IBM: /I-B-M/ Inferior But Marketable; It's Better Manually;
  3050.    Insidious Black Magic; It's Been Malfunctioning; Incontinent Bowel
  3051.    Movement; and a near-{infinite} number of even less complimentary
  3052.    expansions, including `International Business Machines'.  See
  3053.    {TLA}.  These abbreviations illustrate the considerable
  3054.    antipathy most hackers have long felt toward the `industry leader'
  3055.    (see {fear and loathing}).
  3056.  
  3057.    What galls hackers about most IBM machines above the PC level isn't
  3058.    so much that they are underpowered and overpriced (though that does
  3059.    count against them), but that the designs are incredibly archaic,
  3060.    {crufty}, and {elephantine} ... and you can't *fix* them
  3061.    --- source code is locked up tight, and programming tools are
  3062.    expensive, hard to find, and bletcherous to use once you've found
  3063.    them.  With the release of the UNIX-based RIOS family this may have
  3064.    begun to change --- but then, we thought that when the PC-RT came
  3065.    out, too.
  3066.  
  3067.    In the spirit of universal peace and brotherhood, this lexicon now
  3068.    includes a number of entries attributed to `IBM'; these derive from
  3069.    some rampantly unofficial jargon lists circulated within IBM's own
  3070.    beleaguered hacker underground.
  3071.  
  3072. :IBM discount: n. A price increase.  Outside IBM, this derives from
  3073.    the common perception that IBM products are generally overpriced
  3074.    (see {clone}); inside, it is said to spring from a belief that
  3075.    large numbers of IBM employees living in an area cause prices to
  3076.    rise.
  3077.  
  3078. :ICBM address: n. (Also `missile address') The form used to
  3079.    register a site with the USENET mapping project includes a blank
  3080.    for longitude and latitude, preferably to seconds-of-arc accuracy.
  3081.    This is actually used for generating geographically-correct maps of
  3082.    USENET links on a plotter; however, it has become traditional to
  3083.    refer to this as one's `ICBM address' or `missile address', and
  3084.    many people include it in their {sig block} with that name.
  3085.  
  3086. :ice: [coined by USENETter Tom Maddox, popularized by William
  3087.    Gibson's cyberpunk SF novels: a contrived acronym for `Intrusion
  3088.    Countermeasure Electronics'] Security software (in Gibson's novels,
  3089.    software that responds to intrusion by attempting to literally kill
  3090.    the intruder).  Also, `icebreaker': a program designed for
  3091.    cracking security on a system.
  3092.  
  3093.    Neither term is in serious use yet as of mid-1993, but many hackers
  3094.    find the metaphor attractive, and each may develop a denotation in
  3095.    the future. In the meantime, the speculative usage chould be
  3096.    confused with `ICE', an acronym for "in-circuit emulator".
  3097.  
  3098. :idempotent: [from mathematical techspeak] adj. Acting as if used
  3099.    only once, even if used multiple times.  This term is often used
  3100.    with respect to {C} header files, which contain common
  3101.    definitions and declarations to be included by several source
  3102.    files.  If a header file is ever included twice during the same
  3103.    compilation (perhaps due to nested #include files), compilation
  3104.    errors can result unless the header file has protected itself
  3105.    against multiple inclusion; a header file so protected is said to
  3106.    be idempotent.  The term can also be used to describe an
  3107.    initialization subroutine that is arranged to perform some
  3108.    critical action exactly once, even if the routine is called several
  3109.    times.
  3110.  
  3111. :If you want X, you know where to find it.: There is a legend that
  3112.    Dennis Ritchie, inventor of {C}, once responded to demands for
  3113.    features resembling those of what at the time was a much more
  3114.    popular language by observing "If you want PL/I, you know where to
  3115.    find it."  Ever since, this has been hackish standard form for
  3116.    fending off requests to alter a new design to mimic some older
  3117.    (and, by implication, inferior and {baroque}) one.  The case X =
  3118.    {Pascal} manifests semi-regularly on USENET's comp.lang.c
  3119.    newsgroup.  Indeed, the case X = X has been reported in
  3120.    discussions of graphics software (see {X}).
  3121.  
  3122. :ifdef out: /if'def owt/ v. Syn. for {condition out}, specific
  3123.    to {C}.
  3124.  
  3125. :ill-behaved: adj. 1. [numerical analysis] Said of an algorithm or
  3126.    computational method that tends to blow up because of accumulated
  3127.    roundoff error or poor convergence properties.  2. Software that
  3128.    bypasses the defined {OS} interfaces to do things (like screen,
  3129.    keyboard, and disk I/O) itself, often in a way that depends on the
  3130.    hardware of the machine it is running on or which is nonportable or
  3131.    incompatible with other pieces of software.  In the IBM PC/MS-DOS
  3132.    world, there is a folk theorem (nearly true) to the effect that
  3133.    (owing to gross inadequacies and performance penalties in the OS
  3134.    interface) all interesting applications are ill-behaved.  See also
  3135.    {bare metal}. Oppose {well-behaved}, compare {PC-ism}.  See
  3136.    {mess-dos}.
  3137.  
  3138. :IMHO: // [from SF fandom via USENET; abbreviation for `In My Humble
  3139.    Opinion']  "IMHO, mixed-case C names should be avoided, as
  3140.    mistyping something in the wrong case can cause hard-to-detect
  3141.    errors --- and they look too Pascalish anyhow."  Also seen in
  3142.    variant forms such as IMNSHO (In My Not-So-Humble Opinion) and IMAO
  3143.    (In My Arrogant Opinion).
  3144.  
  3145. :Imminent Death Of The Net Predicted!: [USENET] prov.  Since
  3146.    {USENET} first got off the ground in 1980--81, it has grown
  3147.    exponentially, approximately doubling in size every year.  On the
  3148.    other hand, most people feel the {signal-to-noise ratio} of
  3149.    USENET has dropped steadily.  These trends led, as far back as
  3150.    mid-1983, to predictions of the imminent collapse (or death) of the
  3151.    net.  Ten years and numerous doublings later, enough of these
  3152.    gloomy prognostications have been confounded that the phrase
  3153.    "Imminent Death Of The Net Predicted!" has become a running joke,
  3154.    hauled out any time someone grumbles about the {S/N ratio} or
  3155.    the huge and steadily increasing volume or the possible loss of a
  3156.    key node or link, or the potential for lawsuits when ignoramuses
  3157.    post copyrighted material, etc., etc., etc.
  3158.  
  3159. :in the extreme: adj. A preferred superlative suffix for many hackish
  3160.    terms.  See, for example, `obscure in the extreme' under {obscure},
  3161.    and compare {highly}.
  3162.  
  3163. :inc: /ink/ v. Common verbal shorthand for increment, i.e.
  3164.    `increase by one' (one doesn't tend to see the sbbreviation in
  3165.    writing or email).  Especially used by assembly programmers, as many
  3166.    assembly languages (including those for Intel chips) have an
  3167.    `inc' mnemonic.  Antonym: {dec}.
  3168.  
  3169. :incantation: n. Any particularly arbitrary or obscure command that
  3170.    one must mutter at a system to attain a desired result.  Not used
  3171.    of passwords or other explicit security features.  Especially used
  3172.    of tricks that are so poorly documented they must be learned from a
  3173.    {wizard}.  "This compiler normally locates initialized data
  3174.    in the data segment, but if you {mutter} the right incantation they
  3175.    will be forced into text space."
  3176.  
  3177. :include: vt. [USENET] 1. To duplicate a portion (or whole) of
  3178.    another's message (typically with attribution to the source) in a
  3179.    reply or followup, for clarifying the context of one's response.
  3180.    See the the discussion of inclusion styles under "Hacker
  3181.    Writing Style".  2. [from {C}] `#include <disclaimer.h>'
  3182.    has appeared in {sig block}s to refer to a notional `standard
  3183.    {disclaimer} file'.
  3184.  
  3185. :include war: n. Excessive multi-leveled including within a
  3186.    discussion {thread}, a practice that tends to annoy readers.  In
  3187.    a forum with high-traffic newsgroups, such as USENET, this can lead
  3188.    to {flame}s and the urge to start a {kill file}.
  3189.  
  3190. :indent style: [C programmers] n. The rules one uses to indent code
  3191.    in a readable fashion; a subject of {holy wars}.  There are four
  3192.    major C indent styles, described below; all have the aim of
  3193.    making it easier for the reader to visually track the scope of
  3194.    control constructs.  The significant variable is the placement of
  3195.    `{' and `}' with respect to the statement(s) they
  3196.    enclose and the guard or controlling statement (`if',
  3197.    `else', `for', `while', or `do') on the block,
  3198.    if any.
  3199.  
  3200.    `K&R style' --- Named after Kernighan & Ritchie, because the
  3201.    examples in {K&R} are formatted this way.  Also called `kernel
  3202.    style' because the UNIX kernel is written in it, and the `One True
  3203.    Brace Style' (abbrev. 1TBS) by its partisans.  The basic indent
  3204.    shown here is eight spaces (or one tab) per level; four are
  3205.    occasionally seen, but are much less common.
  3206.  
  3207.      if (cond) {
  3208.              <body>
  3209.      }
  3210.  
  3211.    `Allman style' --- Named for Eric Allman, a Berkeley hacker who
  3212.    wrote a lot of the BSD utilities in it (it is sometimes called
  3213.    `BSD style').  Resembles normal indent style in Pascal and Algol.
  3214.    Basic indent per level shown here is eight spaces, but four is just
  3215.    as common (esp. in C++ code).
  3216.  
  3217.      if (cond)
  3218.      {
  3219.              <body>
  3220.      }
  3221.  
  3222.    `Whitesmiths style' --- popularized by the examples that came
  3223.    with Whitesmiths C, an early commercial C compiler.  Basic indent
  3224.    per level shown here is eight spaces, but four is occasionally
  3225.    seen.
  3226.  
  3227.      if (cond)
  3228.              {
  3229.              <body>
  3230.              }
  3231.  
  3232.    `GNU style' --- Used throughout GNU EMACS and the Free Software
  3233.    Foundation code, and just about nowhere else.  Indents are always
  3234.    four spaces per level, with `{' and `}' halfway between the
  3235.    outer and inner indent levels.
  3236.  
  3237.      if (cond)
  3238.        {
  3239.          <body>
  3240.        }
  3241.  
  3242.    Surveys have shown the Allman and Whitesmiths styles to be the most
  3243.    common, with about equal mind shares.  K&R/1TBS used to be nearly
  3244.    universal, but is now much less common (the opening brace tends to
  3245.    get lost against the right paren of the guard part in an `if'
  3246.    or `while', which is a {Bad Thing}).  Defenders of 1TBS
  3247.    argue that any putative gain in readability is less important than
  3248.    their style's relative economy with vertical space, which enables
  3249.    one to see more code on one's screen at once.  Doubtless these
  3250.    issues will continue to be the subject of {holy wars}.
  3251.  
  3252. :index: n. See {coefficient of X}.
  3253.  
  3254. :infant mortality: n. It is common lore among hackers (and in the
  3255.    electronics industry at large; this term is possibly techspeak by
  3256.    now) that the chances of sudden hardware failure drop off
  3257.    exponentially with a machine's time since power-up (that is, until
  3258.    the relatively distant time at which enough mechanical wear in I/O
  3259.    devices and thermal-cycling stress in components has accumulated
  3260.    for the machine to start going senile).  Up to half of all chip and
  3261.    wire failures happen within a new system's first few weeks; such
  3262.    failures are often referred to as `infant mortality' problems
  3263.    (or, occasionally, as `sudden infant death syndrome').  See
  3264.    {bathtub curve}, {burn-in period}.
  3265.  
  3266. :infinite: adj. Consisting of a large number of objects; extreme.
  3267.    Used very loosely as in: "This program produces infinite
  3268.    garbage."  "He is an infinite loser."  The word most likely to
  3269.    follow `infinite', though, is {hair} (it has been pointed out
  3270.    that fractals are an excellent example of infinite hair).  These
  3271.    uses are abuses of the word's mathematical meaning.  The term
  3272.    `semi-infinite', denoting an immoderately large amount of some
  3273.    resource, is also heard.  "This compiler is taking a semi-infinite
  3274.    amount of time to optimize my program."  See also {semi}.
  3275.  
  3276. :infinite loop: n. One that never terminates (that is, the machine
  3277.    {spin}s or {buzz}es forever and goes {catatonic}).  There
  3278.    is a standard joke that has been made about each generation's
  3279.    exemplar of the ultra-fast machine: "The Cray-3 is so fast it can
  3280.    execute an infinite loop in under 2 seconds!"
  3281.  
  3282. :Infinite-Monkey Theorem: n. "If you put an {infinite} number
  3283.    of monkeys at typewriters, eventually one will bash out the script
  3284.    for Hamlet."  (One may also hypothesize a small number of monkeys
  3285.    and a very long period of time.)  This theorem asserts nothing about
  3286.    the intelligence of the one {random} monkey that eventually
  3287.    comes up with the script (and note that the mob will also type out
  3288.    all the possible *incorrect* versions of Hamlet).  It may be
  3289.    referred to semi-seriously when justifying a {brute force}
  3290.    method; the implication is that, with enough resources thrown at
  3291.    it, any technical challenge becomes a {one-banana problem}.
  3292.  
  3293.    This theorem was first popularized by the classic SF short story
  3294.    "Inflexible Logic" by Russell Maloney, many younger hackers
  3295.    know it through a reference in Douglas Adams's `Hitchhiker's
  3296.    Guide to the Galaxy'.
  3297.  
  3298. :infinity: n. 1. The largest value that can be represented in a
  3299.    particular type of variable (register, memory location, data type,
  3300.    whatever).  2. `minus infinity': The smallest such value, not
  3301.    necessarily or even usually the simple negation of plus infinity.
  3302.    In N-bit twos-complement arithmetic, infinity is
  3303.    2^(N-1) - 1 but minus infinity is - (2^(N-1)),
  3304.    not -(2^(N-1) - 1).  Note also that this is different from
  3305.    "time T equals minus infinity", which is closer to a
  3306.    mathematician's usage of infinity.
  3307.  
  3308. :initgame: /in-it'gaym/ [IRC] n. An {IRC} version of the
  3309.    venerable trivia game "20 questions", in which one user changes
  3310.    his {nick} to the initials of a famous person or other named
  3311.    entity, and the others on the channel ask yes or no questions, with
  3312.    the one to guess the person getting to be "it" next.  As a
  3313.    courtesy, the one picking the initials starts by providing a
  3314.    4-letter hint of the form sex, nationality, life-status,
  3315.    reality-status.  For example, MAAR means "Male, American, Alive,
  3316.    Real" (as opposed to "fictional").  Initgame can be surprisingly
  3317.    addictive.  See also {hing}.
  3318.  
  3319. :insanely great: adj. [Mac community, from Steve Jobs; also BSD UNIX
  3320.    people via Bill Joy] Something so incredibly {elegant} that it is
  3321.    imaginable only to someone possessing the most puissant of
  3322.    {hacker}-natures.
  3323.  
  3324. :INTERCAL: /in't*r-kal/ [said by the authors to stand for
  3325.    `Compiler Language With No Pronounceable Acronym'] n. A
  3326.    computer language designed by Don Woods and James Lyon in 1972.
  3327.    INTERCAL is purposely different from all other computer
  3328.    languages in all ways but one; it is purely a written language,
  3329.    being totally unspeakable.  An excerpt from the INTERCAL Reference
  3330.    Manual will make the style of the language clear:
  3331.  
  3332.      It is a well-known and oft-demonstrated fact that a person whose
  3333.      work is incomprehensible is held in high esteem.  For example, if
  3334.      one were to state that the simplest way to store a value of 65536
  3335.      in a 32-bit INTERCAL variable is:
  3336.  
  3337.           DO :1 <- #0$#256
  3338.  
  3339.      any sensible programmer would say that that was absurd.  Since this
  3340.      is indeed the simplest method, the programmer would be made to look
  3341.      foolish in front of his boss, who would of course have happened to
  3342.      turn up, as bosses are wont to do.  The effect would be no less
  3343.      devastating for the programmer having been correct.
  3344.  
  3345.    INTERCAL has many other peculiar features designed to make it even
  3346.    more unspeakable.  The Woods-Lyons implementation was actually used
  3347.    by many (well, at least several) people at Princeton.  The language
  3348.    has been recently reimplemented as C-INTERCAL and is consequently
  3349.    enjoying an unprecedented level of unpopularity; there is even an
  3350.    alt.lang.intercal newsgroup devoted to the study and ...
  3351.    appreciation of the language on USENET.
  3352.  
  3353. :interesting: adj. In hacker parlance, this word has strong
  3354.    connotations of `annoying', or `difficult', or both.  Hackers
  3355.    relish a challenge, and enjoy wringing all the irony possible out
  3356.    of the ancient Chinese curse "May you live in interesting times".
  3357.    Oppose {trivial}, {uninteresting}.
  3358.  
  3359. :Internet address:: n. 1. [techspeak] An absolute network address of
  3360.    the form foo@bar.baz, where foo is a user name, bar is a
  3361.    {sitename}, and baz is a `domain' name, possibly including
  3362.    periods itself.  Contrast with {bang path}; see also {network,
  3363.    the} and {network address}.  All Internet machines and most UUCP
  3364.    sites can now resolve these addresses, thanks to a large amount of
  3365.    behind-the-scenes magic and PD software written since 1980 or so.
  3366.    See also {bang path}, {domainist}.  2. More loosely, any
  3367.    network address reachable through Internet; this includes {bang
  3368.    path} addresses and some internal corporate and government
  3369.    networks.
  3370.  
  3371.    Reading Internet addresses is something of an art.  Here are the
  3372.    four most important top-level functional Internet domains followed
  3373.    by a selection of geographical domains:
  3374.  
  3375.      com
  3376.           commercial organizations
  3377.      edu
  3378.           educational institutions
  3379.      gov
  3380.           U.S. government civilian sites
  3381.      mil
  3382.           U.S. military sites
  3383.  
  3384.    Note that most of the sites in the com and edu domains are in
  3385.    the U.S. or Canada.
  3386.  
  3387.      us
  3388.           sites in the U.S. outside the functional domains
  3389.      su
  3390.           sites in the ex-Soviet Union (see {kremvax}).
  3391.      uk
  3392.           sites in the United Kingdom
  3393.  
  3394.    Within the us domain, there are subdomains for the fifty
  3395.    states, each generally with a name identical to the state's postal
  3396.    abbreviation.  Within the uk domain, there is an ac subdomain for
  3397.    academic sites and a co domain for commercial ones.  Other
  3398.    top-level domains may be divided up in similar ways.
  3399.  
  3400. :interrupt: 1. [techspeak] n. On a computer, an event that
  3401.    interrupts normal processing and temporarily diverts
  3402.    flow-of-control through an "interrupt handler" routine.  See also
  3403.    {trap}.  2. interj. A request for attention from a hacker.
  3404.    Often explicitly spoken.  "Interrupt --- have you seen Joe
  3405.    recently?"  See {priority interrupt}.  3. Under MS-DOS, the
  3406.    term `interrupt' is nearly synonymous with `system call', because
  3407.    the OS and BIOS routines are both called using the INT instruction
  3408.    (see {{interrupt list, the}}) and because programmers so often have
  3409.    to bypass the OS (going directly to a BIOS interrupt) to get
  3410.    reasonable performance.
  3411.  
  3412. :interrupt list, the:: [MS-DOS] n. The list of all known software
  3413.    interrupt calls (both documented and undocumented) for IBM PCs and
  3414.    compatibles, maintained and made available for free redistribution
  3415.    by Ralf Brown <ralf@cs.cmu.edu>.  As of late 1992, it had grown to
  3416.    approximately two megabytes in length.
  3417.  
  3418. :interrupts locked out: adj. When someone is ignoring you.  In a
  3419.    restaurant, after several fruitless attempts to get the waitress's
  3420.    attention, a hacker might well observe "She must have interrupts
  3421.    locked out".  The synonym `interrupts disabled' is also common.
  3422.    Variations abound; "to have one's interrupt mask bit set" and
  3423.    "interrupts masked out" is also heard.  See also {spl}.
  3424.  
  3425. :IRC: /I-R-C/ [Internet Relay Chat] n. A worldwide "party
  3426.    line" network that allows one to converse with others in real
  3427.    time.  IRC is structured as a network of Internet servers, each of
  3428.    which accepts connections from client programs, one per user.  The
  3429.    IRC community and the {USENET} and {MUD} communities overlap
  3430.    to some extent, including both hackers and regular folks who have
  3431.    discovered the wonders of computer networks.  Some USENET jargon
  3432.    has been adopted on IRC, as have some conventions such as
  3433.    {emoticon}s.  There is also a vigorous native jargon,
  3434.    represented in this lexicon by entries marked `[IRC]'.  See also
  3435.    {talk mode}.
  3436.    
  3437. :iron: n. Hardware, especially older and larger hardware of
  3438.    {mainframe} class with big metal cabinets housing relatively
  3439.    low-density electronics (but the term is also used of modern
  3440.    supercomputers).  Often in the phrase {big iron}.  Oppose
  3441.    {silicon}.  See also {dinosaur}.
  3442.  
  3443. :Iron Age: n. In the history of computing, 1961--1971 --- the
  3444.    formative era of commercial {mainframe} technology, when {big
  3445.    iron} {dinosaur}s ruled the earth.  These began with the delivery
  3446.    of the first PDP-1, coincided with the dominance of ferrite
  3447.    {core}, and ended with the introduction of the first commercial
  3448.    microprocessor (the Intel 4004) in 1971.  See also {Stone Age};
  3449.    compare {elder days}.
  3450.  
  3451. :iron box: [UNIX/Internet] n. A special environment set up to trap
  3452.    a {cracker} logging in over remote connections long enough to be
  3453.    traced.  May include a modified {shell} restricting the cracker's
  3454.    movements in unobvious ways, and `bait' files designed to keep
  3455.    him interested and logged on.  See also {back door},
  3456.    {firewall machine}, {Venus flytrap}, and Clifford Stoll's
  3457.    account in `{The Cuckoo's Egg}' of how he made and used
  3458.    one (see the Bibliography in appendix C).  Compare {padded
  3459.    cell}.
  3460.  
  3461. :ironmonger: [IBM] n. Derogatory.  A hardware specialist.  Compare
  3462.    {sandbender}, {polygon pusher}.
  3463.  
  3464. :ITS:: /I-T-S/ n. 1. Incompatible Time-sharing System, an
  3465.    influential but highly idiosyncratic operating system written for
  3466.    PDP-6s and PDP-10s at MIT and long used at the MIT AI Lab.  Much
  3467.    AI-hacker jargon derives from ITS folklore, and to have been `an
  3468.    ITS hacker' qualifies one instantly as an old-timer of the most
  3469.    venerable sort.  ITS pioneered many important innovations,
  3470.    including transparent file sharing between machines and
  3471.    terminal-independent I/O.  After about 1982, most actual work was
  3472.    shifted to newer machines, with the remaining ITS boxes run
  3473.    essentially as a hobby and service to the hacker community.  The
  3474.    shutdown of the lab's last ITS machine in May 1990 marked the end
  3475.    of an era and sent old-time hackers into mourning nationwide (see
  3476.    {high moby}).  The Royal Institute of Technology in Sweden is
  3477.    maintaining one `live' ITS site at its computer museum (right next
  3478.    to the only TOPS-10 system still on the Internet), so ITS is still
  3479.    alleged to hold the record for OS in longest continuous use
  3480.    (however, {{WAITS}} is a credible rival for this palm).  See
  3481.    {Appendix A}.  2. A mythical image of operating-system perfection
  3482.    worshiped by a bizarre, fervent retro-cult of old-time hackers and
  3483.    ex-users (see {troglodyte}, sense 2).  ITS worshipers manage
  3484.    somehow to continue believing that an OS maintained by
  3485.    assembly-language hand-hacking that supported only monocase
  3486.    6-character filenames in one directory per account remains superior
  3487.    to today's state of commercial art (their venom against UNIX is
  3488.    particularly intense).  See also {holy wars},
  3489.    {Weenix}.
  3490.  
  3491. :IWBNI: // [abbreviation] `It Would Be Nice If'.  Compare {WIBNI}.
  3492.  
  3493. :IYFEG: // [USENET] Abbreviation for `Insert Your Favorite Ethnic
  3494.    Group'.  Used as a meta-name when telling ethnic jokes on the net
  3495.    to avoid offending anyone.  See {JEDR}.
  3496.  
  3497. = J =
  3498. =====
  3499.  
  3500. :J. Random: /J rand'm/ n. [generalized from {J. Random Hacker}]
  3501.    Arbitrary; ordinary; any one; any old.  `J. Random' is often
  3502.    prefixed to a noun to make a name out of it.  It means roughly
  3503.    `some particular' or `any specific one'.  "Would you let
  3504.    J. Random Loser marry your daughter?"  The most common uses are
  3505.    `J. Random Hacker', `J. Random Loser', and `J. Random Nerd'
  3506.    ("Should J. Random Loser be allowed to {gun} down other
  3507.    people?"), but it can be used simply as an elaborate version of
  3508.    {random} in any sense.
  3509.  
  3510. :J. Random Hacker: [MIT] /J rand'm hak'r/ n. A mythical figure
  3511.    like the Unknown Soldier; the archetypal hacker nerd.  See
  3512.    {random}, {Suzie COBOL}.  This may originally have been
  3513.    inspired by `J. Fred Muggs', a show-biz chimpanzee whose name was a
  3514.    household word back in the early days of {TMRC}, and was
  3515.    probably influenced by `J. Presper Eckert' (one of the co-inventors
  3516.    of the electronic computer).
  3517.  
  3518. :jack in: v. To log on to a machine or connect to a network or
  3519.    {BBS}, esp. for purposes of entering a {virtual reality}
  3520.    simulation such as a {MUD} or {IRC} (leaving is "jacking
  3521.    out").  This term derives from {cyberpunk} SF, in which it was
  3522.    used for the act of plugging an electrode set into neural sockets
  3523.    in order to interface the brain directly to a virtual reality.
  3524.    It's primarily used by MUD and IRC fans and younger hackers on BBS
  3525.    systems.
  3526.  
  3527. :jaggies: /jag'eez/ n. The `stairstep' effect observable when an
  3528.    edge (esp. a linear edge of very shallow or steep slope) is
  3529.    rendered on a pixel device (as opposed to a vector display).
  3530.  
  3531. :JCL: /J-C-L/ n. 1. IBM's supremely {rude} Job Control
  3532.    Language.  JCL is the script language used to control the execution
  3533.    of programs in IBM's batch systems.  JCL has a very {fascist}
  3534.    syntax, and some versions will, for example, {barf} if two
  3535.    spaces appear where it expects one.  Most programmers confronted
  3536.    with JCL simply copy a working file (or card deck), changing the
  3537.    file names.  Someone who actually understands and generates unique
  3538.    JCL is regarded with the mixed respect one gives to someone who
  3539.    memorizes the phone book.  It is reported that hackers at IBM
  3540.    itself sometimes sing "Who's the breeder of the crud that mangles
  3541.    you and me?  I-B-M, J-C-L, M-o-u-s-e" to the tune of the
  3542.    "Mickey Mouse Club" theme to express their opinion of the
  3543.    beast.  2. A comparative for any very {rude} software that a
  3544.    hacker is expected to use.  "That's as bad as JCL."  As with
  3545.    {COBOL}, JCL is often used as an archetype of ugliness even by
  3546.    those who haven't experienced it.  See also {IBM}, {fear and
  3547.    loathing}.
  3548.  
  3549. :JEDR: // n. Synonymous with {IYFEG}.  At one time, people in
  3550.    the USENET newsgroup rec.humor.funny tended to use `JEDR'
  3551.    instead of {IYFEG} or `<ethnic>'; this stemmed from a public
  3552.    attempt to suppress the group once made by a loser with initials
  3553.    JEDR after he was offended by an ethnic joke posted there.  (The
  3554.    practice was {retcon}ned by the expanding these initials as
  3555.    `Joke Ethnic/Denomination/Race'.)  After much sound and fury JEDR
  3556.    faded away; this term appears to be doing likewise.  JEDR's only
  3557.    permanent effect on the net.culture was to discredit
  3558.    `sensitivity' arguments for censorship so thoroughly that more
  3559.    recent attempts to raise them have met with immediate and
  3560.    near-universal rejection.
  3561.  
  3562. :JFCL: /jif'kl/, /jaf'kl/, /j*-fi'kl/ vt., obs. (alt.
  3563.    `jfcl') To cancel or annul something.  "Why don't you jfcl that
  3564.    out?"  The fastest do-nothing instruction on older models of the
  3565.    PDP-10 happened to be JFCL, which stands for "Jump if Flag set and
  3566.    then CLear the flag"; this does something useful, but is a very
  3567.    fast no-operation if no flag is specified.  Geoff Goodfellow, one
  3568.    of the jargon-1 co-authors, had JFCL on the license plate of his
  3569.    BMW for years.  Usage: rare except among old-time PDP-10
  3570.    hackers.
  3571.  
  3572. :jiffy: n. 1. The duration of one tick of the system clock on the
  3573.    computer (see {tick}).  Often one AC cycle time (1/60 second in
  3574.    the U.S. and Canada, 1/50 most other places), but more recently
  3575.    1/100 sec has become common.  "The swapper runs every 6 jiffies"
  3576.    means that the virtual memory management routine is executed once
  3577.    for every 6 ticks of the clock, or about ten times a second.
  3578.    2. Confusingly, the term is sometimes also used for a 1-millisecond
  3579.    {wall time} interval.  Even more confusingly, physicists
  3580.    semi-jokingly use `jiffy' to mean the time required for light to
  3581.    travel one foot in a vacuum, which turns out to be close to one
  3582.    *nanosecond*.  3. Indeterminate time from a few seconds to
  3583.    forever.  "I'll do it in a jiffy" means certainly not now and
  3584.    possibly never.  This is a bit contrary to the more widespread use
  3585.    of the word.  Oppose {nano}. See also {Real Soon Now}.
  3586.  
  3587. :job security: n. When some piece of code is written in a
  3588.    particularly {obscure} fashion, and no good reason (such as time
  3589.    or space optimization) can be discovered, it is often said that the
  3590.    programmer was attempting to increase his job security (i.e., by
  3591.    making himself indispensable for maintenance).  This sour joke
  3592.    seldom has to be said in full; if two hackers are looking over some
  3593.    code together and one points at a section and says "job security",
  3594.    the other one may just nod.
  3595.  
  3596. :jock: n. 1. A programmer who is characterized by large and somewhat
  3597.    brute-force programs.  See {brute force}.  2. When modified by
  3598.    another noun, describes a specialist in some particular computing
  3599.    area.  The compounds `compiler jock' and `systems jock' seem to be
  3600.    the best-established examples of this.
  3601.  
  3602. :joe code: /joh' kohd`/ n. 1. Code that is overly {tense} and
  3603.    unmaintainable.  "{Perl} may be a handy program, but if you look
  3604.    at the source, it's complete joe code."  2. Badly written,
  3605.    possibly buggy code.
  3606.  
  3607.    Correspondents wishing to remain anonymous have fingered a
  3608.    particular Joe at the Lawrence Berkeley Laboratory and observed
  3609.    that usage has drifted slightly; the original sobriquet `Joe code'
  3610.    was intended in sense 1.
  3611.  
  3612. :jolix: n. /joh'liks/ n.,adj. 386BSD, the freeware port of the
  3613.    BSD Net/2 release to the Intel i386 architecture by Bill Jolitz and
  3614.    friends.  Used to differentiate from BSDI's port based on the same
  3615.    source tape, which is called BSD/386.  See {BSD}.
  3616.  
  3617. :JR[LN]: /J-R-L/, /J-R-N/ n. The names JRL and JRN were
  3618.    sometimes used as example names when discussing a kind of user ID
  3619.    used under {{TOPS-10}} and {WAITS}; they were understood to be
  3620.    the initials of (fictitious) programmers named `J. Random Loser'
  3621.    and `J. Random Nerd' (see {J. Random}).  For example, if one
  3622.    said "To log in, type log one comma jay are en" (that is,
  3623.    "log 1,JRN"), the listener would have understood that he should
  3624.    use his own computer ID in place of `JRN'.
  3625.  
  3626. :JRST: /jerst/ [based on the PDP-10 jump instruction] v.,obs. To
  3627.    suddenly change subjects, with no intention of returning to the
  3628.    previous topic.  Usage: rather rare except among PDP-10 diehards,
  3629.    and considered silly.  See also {AOS}.
  3630.  
  3631. :juggling eggs: vi. Keeping a lot of {state} in your head while
  3632.    modifying a program.  "Don't bother me now, I'm juggling eggs",
  3633.    means that an interrupt is likely to result in the program's being
  3634.    scrambled.  In the classic first-contact SF novel `The Mote in
  3635.    God's Eye', by Larry Niven and Jerry Pournelle, an alien describes
  3636.    a very difficult task by saying "We juggle priceless eggs in
  3637.    variable gravity."  That is a very hackish use of language.  See
  3638.    also {hack mode}.
  3639.  
  3640. :jump off into never-never land: [from J. M. Barrie's `Peter
  3641.    Pan'] v. Same as {branch to Fishkill}, but more common in
  3642.    technical cultures associated with non-IBM computers that use the
  3643.    term `jump' rather than `branch'.  Compare {hyperspace}.
  3644.  
  3645. :jupiter: [IRC] vt. To kill an {IRC} {robot} or user and
  3646.    then take its place by adopting its {nick} so that it cannot
  3647.    reconnect.  Named after a particular IRC user who did this to
  3648.    NickServ, the robot in charge of preventing people from
  3649.    inadvertently using a nick claimed by another user.
  3650.  
  3651. = K =
  3652. =====
  3653.  
  3654. :K: /K/ [from {kilo-}] n. A kilobyte.  This is used both as a
  3655.    spoken word and a written suffix (like {meg} and {gig} for
  3656.    megabyte and gigabyte).  See {{quantifiers}}.
  3657.  
  3658. :K&R: [Kernighan and Ritchie] n. Brian Kernighan and Dennis Ritchie's
  3659.    book `The C Programming Language', esp. the classic and influential
  3660.    first edition (Prentice-Hall 1978; ISBN 0-113-110163-3).  Syn.
  3661.    {White Book}, {Old Testament}.  See also {New Testament}.
  3662.  
  3663. :kahuna: /k*-hoo'nuh/ [IBM: from the Hawaiian title for a shaman] n.
  3664.    Synonym for {wizard}, {guru}.
  3665.  
  3666. :kamikaze packet: n. The `official' jargon for what is more commonly
  3667.    called a {Christmas tree packet}. {RFC}-1025, `TCP and IP Bake Off'
  3668.    says:
  3669.  
  3670.      10 points for correctly being able to process a "Kamikaze"
  3671.      packet (AKA nastygram, christmas tree packet, lamp test
  3672.      segment, et al.).  That is, correctly handle a segment with the
  3673.      maximum combination of features at once (e.g., a SYN URG PUSH
  3674.      FIN segment with options and data).
  3675.  
  3676.    See also {Chernobyl packet}.
  3677.  
  3678. :kangaroo code: n. Syn. {spaghetti code}.
  3679.  
  3680. :ken: /ken/ n. 1. [UNIX] Ken Thompson, principal inventor of
  3681.    UNIX.  In the early days he used to hand-cut distribution tapes,
  3682.    often with a note that read "Love, ken".  Old-timers still use
  3683.    his first name (sometimes uncapitalized, because it's a login name
  3684.    and mail address) in third-person reference; it is widely
  3685.    understood (on USENET, in particular) that without a last name
  3686.    `Ken' refers only to Ken Thompson.  Similarly, Dennis without last
  3687.    name means Dennis Ritchie (and he is often known as dmr).  See
  3688.    also {demigod}, {{UNIX}}.  2. A flaming user.  This was
  3689.    originated by the Software Support group at Symbolics because the
  3690.    two greatest flamers in the user community were both named Ken.
  3691.  
  3692. :kgbvax: /K-G-B'vaks/ n. See {kremvax}.
  3693.  
  3694. :KIBO: /ki:'boh/ 1. [acronym] Knowledge In, Bullshit Out.  A
  3695.    summary of what happens whenever valid data is passed through an
  3696.    organization (or person) that deliberately or accidentally
  3697.    disregards or ignores its significance.  Consider, for example,
  3698.    what an advertising campaign can do with a product's actual
  3699.    specifications.  Compare {GIGO}; see also {SNAFU principle}.
  3700.    2. James Parry <kibo@world.std.com>, a USENETter infamous for
  3701.    various surrealist net.pranks and an uncanny, machine-assisted
  3702.    knack for joining any thread in which his nom de guerre is
  3703.    mentioned.
  3704.  
  3705. :kick: [IRC] v. To cause somebody to be removed from a {IRC}
  3706.    channel, an option only available to {CHOP}s.  This is an
  3707.    extreme measure, often used to combat extreme {flamage} or
  3708.    {flood}ing, but sometimes used at the chop's whim.  Compare
  3709.    {gun}.
  3710.    
  3711. :kill file: [USENET] n. (alt. `KILL file') Per-user file(s) used
  3712.    by some {USENET} reading programs (originally Larry Wall's
  3713.    `rn(1)') to discard summarily (without presenting for reading)
  3714.    articles matching some particularly uninteresting (or unwanted)
  3715.    patterns of subject, author, or other header lines.  Thus to add
  3716.    a person (or subject) to one's kill file is to arrange for that
  3717.    person to be ignored by one's newsreader in future.  By extension,
  3718.    it may be used for a decision to ignore the person or subject in
  3719.    other media.  See also {plonk}.
  3720.  
  3721. :killer micro: [popularized by Eugene Brooks] n. A
  3722.    microprocessor-based machine that infringes on mini, mainframe, or
  3723.    supercomputer performance turf.  Often heard in "No one will
  3724.    survive the attack of the killer micros!", the battle cry of the
  3725.    downsizers.  Used esp. of RISC architectures.
  3726.  
  3727.    The popularity of the phrase `attack of the killer micros' is
  3728.    doubtless reinforced by the movie title "Attack Of The Killer
  3729.    Tomatoes" (one of the {canonical} examples of
  3730.    so-bad-it's-wonderful among hackers).  This has even more flavor
  3731.    now that killer micros have gone on the offensive not just
  3732.    individually (in workstations) but in hordes (within massively
  3733.    parallel computers).
  3734.  
  3735. :killer poke: n. A recipe for inducing hardware damage on a machine
  3736.    via insertion of invalid values (see {poke}) in a memory-mapped
  3737.    control register; used esp. of various fairly well-known tricks
  3738.    on {bitty box}es without hardware memory management (such as the
  3739.    IBM PC and Commodore PET) that can overload and trash analog
  3740.    electronics in the monitor.  See also {HCF}.
  3741.  
  3742. :kilo-: [SI] pref. See {{quantifiers}}.
  3743.  
  3744. :KIPS: /kips/ [abbreviation, by analogy with {MIPS} using {K}] n.
  3745.    Thousands (*not* 1024s) of Instructions Per Second.  Usage:
  3746.    rare.
  3747.  
  3748. :KISS Principle: /kis' prin'si-pl/ n. "Keep It Simple, Stupid".
  3749.    A maxim often invoked when discussing design to fend off
  3750.    {creeping featurism} and control development complexity.
  3751.    Possibly related to the {marketroid} maxim on sales
  3752.    presentations, "Keep It Short and Simple".
  3753.  
  3754. :kit: [USENET; poss. fr. DEC slang for a full software
  3755.    distribution, as opposed to a patch or upgrade] n. A source
  3756.    software distribution that has been packaged in such a way that it
  3757.    can (theoretically) be unpacked and installed according to a series
  3758.    of steps using only standard UNIX tools, and entirely documented by
  3759.    some reasonable chain of references from the top-level {README
  3760.    file}.  The more general term {distribution} may imply that
  3761.    special tools or more stringent conditions on the host environment
  3762.    are required.
  3763.  
  3764. :klone: /klohn/ n. See {clone}, sense 4.
  3765.  
  3766. :kludge: /klooj/ or /kluhj/ n. Common (but incorrect) variant
  3767.    of {kluge}, q.v.
  3768.  
  3769. :kluge: /klooj/ [from the German `klug', clever] 1. n.  A Rube
  3770.    Goldberg (or Heath Robinson) device, whether in hardware or
  3771.    software.  (A long-ago `Datamation' article by Jackson Granholme
  3772.    said: "An ill-assorted collection of poorly matching parts,
  3773.    forming a distressing whole.")  2. n. A clever programming trick
  3774.    intended to solve a particular nasty case in an expedient, if not
  3775.    clear, manner.  Often used to repair bugs.  Often involves
  3776.    {ad-hockery} and verges on being a {crock}.  In fact, the
  3777.    TMRC Dictionary defined `kludge' as "a crock that works".  3. n.
  3778.    Something that works for the wrong reason.  4. vt. To insert a
  3779.    kluge into a program.  "I've kluged this routine to get around
  3780.    that weird bug, but there's probably a better way."  5. [WPI] n. A
  3781.    feature that is implemented in a {rude} manner.
  3782.  
  3783.    Nowadays this term is often encountered in the variant spelling
  3784.    `kludge'.  Reports from {old fart}s are consistent that
  3785.    `kluge' was the original spelling, reported around computers as
  3786.    far back as the mid-1950s and, at that time, used exclusively of
  3787.    *hardware* kluges.  In 1947, the `New York Folklore
  3788.    Quarterly' reported a classic shaggy-dog story `Murgatroyd the
  3789.    Kluge Maker' then current in the Armed Forces, in which a `kluge'
  3790.    was a complex and puzzling artifact with a trivial function.  Other
  3791.    sources report that `kluge' was common Navy slang in the WWII era
  3792.    for any piece of electronics that worked well on shore but
  3793.    consistently failed at sea.
  3794.  
  3795.    However, there is reason to believe this slang use may be a decade
  3796.    older.  Several respondents have connected it to the brand name of
  3797.    a device called a "Kluge paper feeder" dating back at least to
  3798.    1935, an adjunct to mechanical printing presses.  The Kluge feeder
  3799.    was designed before small, cheap electric motors and control
  3800.    electronics; it relied on a fiendishly complex assortment of cams,
  3801.    belts, and linkages to both power and synchronize all its
  3802.    operations from one motive driveshaft.  It was accordingly
  3803.    tempermental, subject to frequent breakdowns, and devilishly
  3804.    difficult to repair --- but oh, so clever!  One traditional
  3805.    folk etymology of `kluge' makes it the name of a design engineer;
  3806.    in fact, `Kluge' is a surname in German, and the designer of the
  3807.    Kluge feeder may well have been the man behind this myth.
  3808.  
  3809.    {TMRC} and the MIT hacker culture of the early '60s seems to
  3810.    have developed in a milieu that remembered and still used some WII
  3811.    military slang (see also {foobar}).  It seems likely that
  3812.    `kluge' came to MIT via alumni of the many military electronics
  3813.    projects that had been located in Cambridge (many in MIT's
  3814.    venerable Building 20, in which {TMRC} is also located) during
  3815.    the war.
  3816.  
  3817.    The variant `kludge' was apparently popularized by the
  3818.    {Datamation} article mentioned above; it was titled "How
  3819.    to Design a Kludge" (February 1962, pp. 30, 31).  Some people
  3820.    who encountered the word first in print or on-line jumped to the
  3821.    reasonable but incorrect conclusion that the word should be
  3822.    pronounced /kluhj/ (rhyming with `sludge').  The result of this
  3823.    tangled history is a mess; in 1993, many (perhaps even most)
  3824.    hackers pronounce the word correctly as /klooj/ but spell it
  3825.    incorrectly as `kludge' (compare the pronunciation drift of
  3826.    {mung}).  Some observers consider this appropriate in view of
  3827.    its meaning.
  3828.  
  3829. :kluge around: vt. To avoid a bug or difficult condition by
  3830.    inserting a {kluge}.  Compare {workaround}.
  3831.  
  3832. :kluge up: vt. To lash together a quick hack to perform a task; this
  3833.    is milder than {cruft together} and has some of the connotations
  3834.    of {hack up} (note, however, that the construction `kluge on'
  3835.    corresponding to {hack on} is never used).  "I've kluged up this
  3836.    routine to dump the buffer contents to a safe place."
  3837.  
  3838. :Knights of the Lambda Calculus: n. A semi-mythical organization of
  3839.    wizardly LISP and Scheme hackers.  The name refers to a
  3840.    mathematical formalism invented by Alonzo Church, with which LISP
  3841.    is intimately connected.  There is no enrollment list and the
  3842.    criteria for induction are unclear, but one well-known LISPer has
  3843.    been known to give out buttons and, in general, the *members*
  3844.    know who they are....
  3845.  
  3846. :Knuth: /nooth/ [Donald E. Knuth's `The Art of Computer
  3847.    Programming'] n. Mythically, the reference that answers all
  3848.    questions about data structures or algorithms.  A safe answer when
  3849.    you do not know: "I think you can find that in Knuth."  Contrast
  3850.    {literature, the}.  See also {bible}.
  3851.  
  3852. :kremvax: /krem-vaks/ [from the then large number of {USENET}
  3853.    {VAXen} with names of the form foovax] n. Originally, a
  3854.    fictitious USENET site at the Kremlin, announced on April 1, 1984
  3855.    in a posting ostensibly originated there by Soviet leader
  3856.    Konstantin Chernenko.  The posting was actually forged by Piet
  3857.    Beertema as an April Fool's joke.  Other fictitious sites mentioned
  3858.    in the hoax were moskvax and {kgbvax}.  This was probably
  3859.    the funniest of the many April Fool's forgeries perpetrated on
  3860.    USENET (which has negligible security against them), because the
  3861.    notion that USENET might ever penetrate the Iron Curtain seemed so
  3862.    totally absurd at the time.
  3863.  
  3864.    In fact, it was only six years later that the first genuine site in
  3865.    Moscow, demos.su, joined USENET.  Some readers needed
  3866.    convincing that the postings from it weren't just another prank.
  3867.    Vadim Antonov, senior programmer at Demos and the major poster from
  3868.    there up to mid-1991, was quite aware of all this, referred to it
  3869.    frequently in his own postings, and at one point twitted some
  3870.    credulous readers by blandly asserting that he *was* a
  3871.    hoax!
  3872.  
  3873.    Eventually he even arranged to have the domain's gateway site
  3874.    *named* kremvax, thus neatly turning fiction into truth
  3875.    and demonstrating that the hackish sense of humor transcends
  3876.    cultural barriers.  [Mr. Antonov also contributed the
  3877.    Russian-language material for this lexicon. --- ESR]
  3878.  
  3879.    In an even more ironic historical footnote, kremvax became an
  3880.    electronic center of the anti-communist resistance during the
  3881.    bungled hard-line coup of August 1991.  During those three days the
  3882.    Soviet UUCP network centered on kremvax became the only
  3883.    trustworthy news source for many places within the USSR.  Though
  3884.    the sysops were concentrating on internal communications,
  3885.    cross-border postings included immediate transliterations of Boris
  3886.    Yeltsin's decrees condemning the coup and eyewitness reports of the
  3887.    demonstrations in Moscow's streets.  In those hours, years of
  3888.    speculation that totalitarianism would prove unable to maintain its
  3889.    grip on politically-loaded information in the age of computer
  3890.    networking were proved devastatingly accurate --- and the original
  3891.    kremvax joke became a reality as Yeltsin and the new Russian
  3892.    revolutionaries of `glasnost' and `perestroika' made
  3893.    kremvax one of the timeliest means of their outreach to the
  3894.    West.
  3895.  
  3896. :kyrka: /shir'k*/ [Swedish] n. See {feature key}.
  3897. = L =
  3898. =====
  3899.  
  3900. :lace card: n. obs. A {{punched card}} with all holes punched
  3901.    (also called a `whoopee card' or `ventilator card').  Card
  3902.    readers tended to jam when they got to one of these, as the
  3903.    resulting card had too little structural strength to avoid buckling
  3904.    inside the mechanism.  Card punches could also jam trying to
  3905.    produce these things owing to power-supply problems.  When some
  3906.    practical joker fed a lace card through the reader, you needed to
  3907.    clear the jam with a `card knife' --- which you used on the joker
  3908.    first.
  3909.  
  3910. :language lawyer: n. A person, usually an experienced or senior
  3911.    software engineer, who is intimately familiar with many or most of
  3912.    the numerous restrictions and features (both useful and esoteric)
  3913.    applicable to one or more computer programming languages.  A
  3914.    language lawyer is distinguished by the ability to show you the
  3915.    five sentences scattered through a 200-plus-page manual that
  3916.    together imply the answer to your question "if only you had
  3917.    thought to look there".  Compare {wizard}, {legal},
  3918.    {legalese}.
  3919.  
  3920. :languages of choice: n. {C} and {LISP}.  Nearly every
  3921.    hacker knows one of these, and most good ones are fluent in both.
  3922.    Smalltalk and Prolog are also popular in small but influential
  3923.    communities.
  3924.  
  3925.    There is also a rapidly dwindling category of older hackers with
  3926.    FORTRAN, or even assembler, as their language of choice.  They
  3927.    often prefer to be known as {Real Programmer}s, and other
  3928.    hackers consider them a bit odd (see "{The Story of Mel, a
  3929.    Real Programmer}" in {Appendix A}).  Assembler is generally no longer
  3930.    considered interesting or appropriate for anything but {HLL}
  3931.    implementation, {glue}, and a few time-critical and
  3932.    hardware-specific uses in systems programs.  FORTRAN occupies a
  3933.    shrinking niche in scientific programming.
  3934.  
  3935.    Most hackers tend to frown on languages like {{Pascal}} and
  3936.    {{Ada}}, which don't give them the near-total freedom considered
  3937.    necessary for hacking (see {bondage-and-discipline language}),
  3938.    and to regard everything that's even remotely connected with
  3939.    {COBOL} or other traditional {card walloper} languages as a
  3940.    total and unmitigated {loss}.
  3941.  
  3942. :larval stage: n. Describes a period of monomaniacal concentration
  3943.    on coding apparently passed through by all fledgling hackers.
  3944.    Common symptoms include the perpetration of more than one 36-hour
  3945.    {hacking run} in a given week; neglect of all other activities
  3946.    including usual basics like food, sleep, and personal hygiene; and
  3947.    a chronic case of advanced bleary-eye.  Can last from 6 months to 2
  3948.    years, the apparent median being around 18 months.  A few so
  3949.    afflicted never resume a more `normal' life, but the ordeal
  3950.    seems to be necessary to produce really wizardly (as opposed to
  3951.    merely competent) programmers.  See also {wannabee}.  A less
  3952.    protracted and intense version of larval stage (typically lasting
  3953.    about a month) may recur when one is learning a new {OS} or
  3954.    programming language.
  3955.  
  3956. :lase: /layz/ vt. To print a given document via a laser printer.
  3957.    "OK, let's lase that sucker and see if all those graphics-macro
  3958.    calls did the right things."
  3959.  
  3960. :laser chicken: n. Kung Pao Chicken, a standard Chinese dish
  3961.    containing chicken, peanuts, and hot red peppers in a spicy
  3962.    pepper-oil sauce.  Many hackers call it `laser chicken' for
  3963.    two reasons: It can {zap} you just like a laser, and the
  3964.    sauce has a red color reminiscent of some laser beams.
  3965.  
  3966.    In a variation on this theme, it is reported that some Australian
  3967.    hackers have redesignated the common dish `lemon chicken' as
  3968.    `Chernobyl Chicken'.  The name is derived from the color of the
  3969.    sauce, which is considered bright enough to glow in the dark (as,
  3970.    mythically, do some of the inhabitants of Chernobyl).
  3971.  
  3972. :Lasherism: [Harvard] n. A program that solves a standard problem
  3973.    (such as the Eight Queens puzzle or implementing the {life}
  3974.    algorithm) in a deliberately nonstandard way.  Distinguished from a
  3975.    {crock} or {kluge} by the fact that the programmer did it on
  3976.    purpose as a mental exercise.  Such constructions are quite popular
  3977.    in exercises such as the {Obfuscated C contest}, and
  3978.    occasionally in {retrocomputing}.  Lew Lasher was a student at
  3979.    Harvard around 1980 who became notorious for such behavior.
  3980.  
  3981. :laundromat: n. Syn. {disk farm}; see {washing machine}.
  3982.  
  3983. :LDB: /l*'d*b/ [from the PDP-10 instruction set] vt. To extract
  3984.    from the middle.  "LDB me a slice of cake, please." This usage
  3985.    has been kept alive by Common LISP's function of the same name.
  3986.    Considered silly.  See also {DPB}.
  3987.  
  3988. :leaf site: n. A machine that merely originates and reads USENET
  3989.    news or mail, and does not relay any third-party traffic.  Often
  3990.    uttered in a critical tone; when the ratio of leaf sites to
  3991.    backbone, rib, and other relay sites gets too high, the network
  3992.    tends to develop bottlenecks.  Compare {backbone site}, {rib
  3993.    site}.
  3994.  
  3995. :leak: n. With qualifier, one of a class of resource-management bugs
  3996.    that occur when resources are not freed properly after operations
  3997.    on them are finished, so they effectively disappear (leak out).
  3998.    This leads to eventual exhaustion as new allocation requests come
  3999.    in.  {memory leak} and {fd leak} have their own entries; one
  4000.    might also refer, to, say, a `window handle leak' in a window
  4001.    system.
  4002.  
  4003. :leaky heap: [Cambridge] n. An {arena} with a {memory leak}.
  4004.  
  4005. :leapfrog attack: n. Use of userid and password information
  4006.    obtained illicitly from one host (e.g., downloading a file of
  4007.    account IDs and passwords, tapping TELNET, etc.) to compromise
  4008.    another host.  Also, to TELNET through one or more hosts in order
  4009.    to confuse a trace (a standard cracker procedure).
  4010.  
  4011. :legal: adj. Loosely used to mean `in accordance with all the
  4012.    relevant rules', esp. in connection with some set of constraints
  4013.    defined by software.  "The older =+ alternate for += is no longer
  4014.    legal syntax in ANSI C."  "This parser processes each line of
  4015.    legal input the moment it sees the trailing linefeed."  Hackers
  4016.    often model their work as a sort of game played with the
  4017.    environment in which the objective is to maneuver through the
  4018.    thicket of `natural laws' to achieve a desired objective.  Their
  4019.    use of `legal' is flavored as much by this game-playing sense as by
  4020.    the more conventional one having to do with courts and lawyers.
  4021.    Compare {language lawyer}, {legalese}.
  4022.  
  4023. :legalese: n. Dense, pedantic verbiage in a language description,
  4024.    product specification, or interface standard; text that seems
  4025.    designed to obfuscate and requires a {language lawyer} to
  4026.    {parse} it.  Though hackers are not afraid of high information
  4027.    density and complexity in language (indeed, they rather enjoy
  4028.    both), they share a deep and abiding loathing for legalese; they
  4029.    associate it with deception, {suit}s, and situations in which
  4030.    hackers generally get the short end of the stick.
  4031.  
  4032. :LER: /L-E-R/ [TMRC, from `Light-Emitting Diode'] n. A
  4033.    light-emitting resistor (that is, one in the process of burning
  4034.    up).  Ohm's law was broken.  See {SED}.
  4035.  
  4036. :LERP: /lerp/ vi.,n. Quasi-acronym for Linear Interpolation, used as a
  4037.    verb or noun for the operation.  E.g., Bresenham's algorithm lerps
  4038.    incrementally between the two endpoints of the line.
  4039.  
  4040. :let the smoke out: v. To fry hardware (see {fried}).  See
  4041.    {magic smoke} for the mythology behind this.
  4042.  
  4043. :letterbomb: n. A piece of {email} containing {live data}
  4044.    intended to do nefarious things to the recipient's machine or
  4045.    terminal.  It is possible, for example, to send letterbombs that
  4046.    will lock up some specific kinds of terminals when they are viewed,
  4047.    so thoroughly that the user must cycle power (see {cycle}, sense
  4048.    3) to unwedge them.  Under UNIX, a letterbomb can also try to get
  4049.    part of its contents interpreted as a shell command to the mailer.
  4050.    The results of this could range from silly to tragic.  See also
  4051.    {Trojan horse}; compare {nastygram}.
  4052.  
  4053. :lexer: /lek'sr/ n. Common hacker shorthand for `lexical
  4054.    analyzer', the input-tokenizing stage in the parser for a language
  4055.    (the part that breaks it into word-like pieces).  "Some C lexers
  4056.    get confused by the old-style compound ops like `=-'."
  4057.  
  4058. :lexiphage: /lek'si-fayj`/ n. A notorious word {chomper} on
  4059.    ITS.  See {bagbiter}.
  4060.  
  4061. :life: n. 1. A cellular-automata game invented by John Horton
  4062.    Conway and first introduced publicly by Martin Gardner
  4063.    (`Scientific American', October 1970); the game's popularity
  4064.    had to wait a few years for computers on which it could reasonably
  4065.    be played, as it's no fun to simulate the cells by hand.  Many
  4066.    hackers pass through a stage of fascination with it, and hackers at
  4067.    various places contributed heavily to the mathematical analysis of
  4068.    this game (most notably Bill Gosper at MIT, who even implemented
  4069.    life in {TECO}!; see {Gosperism}).  When a hacker mentions
  4070.    `life', he is much more likely to mean this game than the
  4071.    magazine, the breakfast cereal, or the human state of existence.
  4072.    2. The opposite of {USENET}.  As in {Get a life!}
  4073.  
  4074. :Life is hard: [XEROX PARC] prov. This phrase has two possible
  4075.    interpretations: (1) "While your suggestion may have some merit, I
  4076.    will behave as though I hadn't heard it."  (2) "While your
  4077.    suggestion has obvious merit, equally obvious circumstances prevent
  4078.    it from being seriously considered."  The charm of the phrase lies
  4079.    precisely in this subtle but important ambiguity.
  4080.  
  4081. :light pipe: n. Fiber optic cable.  Oppose {copper}.
  4082.  
  4083. :lightweight: adj. Opposite of {heavyweight}; usually found in
  4084.    combining forms such as `lightweight process'.
  4085.  
  4086. :like kicking dead whales down the beach: adj. Describes a slow,
  4087.    difficult, and disgusting process.  First popularized by a famous
  4088.    quote about the difficulty of getting work done under one of IBM's
  4089.    mainframe OSes.  "Well, you *could* write a C compiler in
  4090.    COBOL, but it would be like kicking dead whales down the beach."
  4091.    See also {fear and loathing}
  4092.  
  4093. :like nailing jelly to a tree: adj. Used to describe a task thought
  4094.    to be impossible, esp. one in which the difficulty arises from
  4095.    poor specification or inherent slipperiness in the problem domain.
  4096.    "Trying to display the `prettiest' arrangement of nodes and arcs
  4097.    that diagrams a given graph is like nailing jelly to a tree,
  4098.    because nobody's sure what `prettiest' means algorithmically."
  4099.  
  4100. :line 666: [from Christian eschatological myth] n. The notational
  4101.    line of source at which a program fails for obscure reasons,
  4102.    implying either that *somebody* is out to get it (when you are
  4103.    the programmer), or that it richly deserves to be so gotten (when
  4104.    you are not). "It works when I trace through it, but seems to
  4105.    crash on line 666 when I run it."  "What happens is that whenever
  4106.    a large batch comes through, mmdf dies on the Line of the Beast.
  4107.    Probably some twit hardcoded a buffer size."
  4108.  
  4109. :line eater, the: [USENET] n. 1. A bug in some now-obsolete
  4110.    versions of the netnews software that used to eat up to BUFSIZ
  4111.    bytes of the article text.  The bug was triggered by having the
  4112.    text of the article start with a space or tab.  This bug was
  4113.    quickly personified as a mythical creature called the `line
  4114.    eater', and postings often included a dummy line of `line eater
  4115.    food'.  Ironically, line eater `food' not beginning with a space or
  4116.    tab wasn't actually eaten, since the bug was avoided; but if there
  4117.    *was* a space or tab before it, then the line eater would eat
  4118.    the food *and* the beginning of the text it was supposed to be
  4119.    protecting.  The practice of `sacrificing to the line eater'
  4120.    continued for some time after the bug had been {nailed to the
  4121.    wall}, and is still humorously referred to.  The bug itself is
  4122.    still (in mid-1991) occasionally reported to be lurking in some
  4123.    mail-to-netnews gateways.  2. See {NSA line eater}.
  4124.  
  4125. :line noise: n. 1. [techspeak] Spurious characters due to
  4126.    electrical noise in a communications link, especially an RS-232
  4127.    serial connection.  Line noise may be induced by poor connections,
  4128.    interference or crosstalk from other circuits, electrical storms,
  4129.    {cosmic rays}, or (notionally) birds crapping on the phone
  4130.    wires.  2. Any chunk of data in a file or elsewhere that looks like
  4131.    the results of line noise in sense 1.  3. Text that is
  4132.    theoretically a readable text or program source but employs syntax
  4133.    so bizarre that it looks like line noise in senses 1 or 2.  Yes,
  4134.    there are languages this ugly.  The canonical example is {TECO};
  4135.    it is often claimed that "TECO's input syntax is indistinguishable
  4136.    from line noise."  Other non-{WYSIWYG} editors, such as Multics
  4137.    `qed' and Unix `ed', in the hands of a real hacker, also
  4138.    qualify easily, as do deliberately obfuscated languages such as
  4139.    {INTERCAL}.
  4140.  
  4141. :line starve: [MIT] 1. vi. To feed paper through a printer the
  4142.    wrong way by one line (most printers can't do this).  On a display
  4143.    terminal, to move the cursor up to the previous line of the screen.
  4144.    "To print `X squared', you just output `X', line starve, `2', line
  4145.    feed."  (The line starve causes the `2' to appear on the line
  4146.    above the `X', and the line feed gets back to the original line.)
  4147.    2. n. A character (or character sequence) that causes a terminal to
  4148.    perform this action.  ASCII 0011010, also called SUB or control-Z,
  4149.    was one common line-starve character in the days before
  4150.    microcomputers and the X3.64 terminal standard.  Unlike `line
  4151.    feed', `line starve' is *not* standard {{ASCII}}
  4152.    terminology.  Even among hackers it is considered a bit silly.
  4153.    3. [proposed] A sequence such as \c (used in System V echo, as well
  4154.    as {{nroff}} and {{troff}}) that suppresses a {newline} or
  4155.    other character(s) that would normally be emitted.
  4156.  
  4157. :link farm: [UNIX] n. A directory tree that contains many links to
  4158.    files in a master directory tree of files.  Link farms save space
  4159.    when one is maintaining several nearly identical copies of the same
  4160.    source tree --- for example, when the only difference is
  4161.    architecture-dependent object files.  "Let's freeze the source and
  4162.    then rebuild the FROBOZZ-3 and FROBOZZ-4 link farms."  Link farms
  4163.    may also be used to get around restrictions on the number of
  4164.    `-I' (include-file directory) arguments on older
  4165.    C preprocessors.  However, they can also get completely out of
  4166.    hand, becoming the filesystem equivalent of {spaghetti
  4167.    code}.
  4168.  
  4169. :link-dead: [MUD] adj. Said of a {MUD} character who has frozen in
  4170.    place because of a dropped Internet connection.
  4171.  
  4172. :lint: [from UNIX's `lint(1)', named for the bits of fluff it
  4173.    picks from programs] 1. vt. To examine a program closely for style,
  4174.    language usage, and portability problems, esp. if in C, esp. if
  4175.    via use of automated analysis tools, most esp. if the UNIX
  4176.    utility `lint(1)' is used.  This term used to be restricted to
  4177.    use of `lint(1)' itself, but (judging by references on USENET)
  4178.    it has become a shorthand for {desk check} at some non-UNIX
  4179.    shops, even in languages other than C.  Also as v. {delint}.
  4180.    2. n. Excess verbiage in a document, as in "this draft has too
  4181.    much lint".
  4182.  
  4183. :lion food: [IBM] n. Middle management or HQ staff (by extension,
  4184.    administrative drones in general).  From an old joke about two
  4185.    lions who, escaping from the zoo, split up to increase their
  4186.    chances but agreed to meet after 2 months.  When they finally
  4187.    meet, one is skinny and the other overweight.  The thin one says:
  4188.    "How did you manage?  I ate a human just once and they turned out
  4189.    a small army to chase me --- guns, nets, it was terrible.  Since
  4190.    then I've been reduced to eating mice, insects, even grass."  The
  4191.    fat one replies: "Well, *I* hid near an IBM office and ate a
  4192.    manager a day.  And nobody even noticed!"
  4193.  
  4194. :Lions Book: n. `Source Code and Commentary on UNIX level 6',
  4195.    by John Lions.  The two parts of this book contained (1) the entire
  4196.    source listing of the UNIX Version 6 kernel, and (2) a commentary
  4197.    on the source discussing the algorithms.  These were circulated
  4198.    internally at the University of New South Wales beginning 1976--77,
  4199.    and were, for years after, the *only* detailed kernel
  4200.    documentation available to anyone outside Bell Labs.  Because
  4201.    Western Electric wished to maintain trade secret status on the
  4202.    kernel, the Lions book was never formally published and was only
  4203.    supposed to be distributed to affiliates of source licensees.  In
  4204.    spite of this, it soon spread by samizdat to a good many of the
  4205.    early UNIX hackers.
  4206.  
  4207. :LISP: [from `LISt Processing language', but mythically from
  4208.    `Lots of Irritating Superfluous Parentheses'] n. The name of AI's
  4209.    mother tongue, a language based on the ideas of (a) variable-length
  4210.    lists and trees as fundamental data types, and (b) the
  4211.    interpretation of code as data and vice-versa.  Invented by John
  4212.    McCarthy at MIT in the late 1950s, it is actually older than any
  4213.    other {HLL} still in use except FORTRAN.  Accordingly, it has
  4214.    undergone considerable adaptive radiation over the years; modern
  4215.    variants are quite different in detail from the original LISP 1.5.
  4216.    The dominant HLL among hackers until the early 1980s, LISP now
  4217.    shares the throne with {C}.  See {languages of choice}.
  4218.  
  4219.    All LISP functions and programs are expressions that return
  4220.    values; this, together with the high memory utilization of LISPs,
  4221.    gave rise to Alan Perlis's famous quip (itself a take on an Oscar
  4222.    Wilde quote) that "LISP programmers know the value of everything
  4223.    and the cost of nothing".
  4224.  
  4225.    One significant application for LISP has been as a proof by example
  4226.    that most newer languages, such as {COBOL} and {Ada}, are full
  4227.    of unnecessary {crock}s.  When the {Right Thing} has already
  4228.    been done once, there is no justification for {bogosity} in newer
  4229.    languages.
  4230.  
  4231. :literature, the: n. Computer-science journals and other
  4232.    publications, vaguely gestured at to answer a question that the
  4233.    speaker believes is {trivial}.  Thus, one might answer an
  4234.    annoying question by saying "It's in the literature."  Oppose
  4235.    {Knuth}, which has no connotation of triviality.
  4236.  
  4237. :lithium lick: n. [NeXT] n. Steve Jobs.  Employees who have gotten
  4238.    too much attention from their esteemed founder are said to have
  4239.    `lithium lick' when they begin to show signs of Jobsian fervor and
  4240.    repeat the most recent catch phrases in normal conversation --- for
  4241.    example, "It just works, right out of the box!"
  4242.  
  4243. :little-endian: adj. Describes a computer architecture in which,
  4244.    within a given 16- or 32-bit word, bytes at lower addresses have
  4245.    lower significance (the word is stored `little-end-first').  The
  4246.    PDP-11 and VAX families of computers and Intel microprocessors and
  4247.    a lot of communications and networking hardware are little-endian.
  4248.    See {big-endian}, {middle-endian}, {NUXI problem}.  The term
  4249.    is sometimes used to describe the ordering of units other than
  4250.    bytes; most often these are bits within a byte.
  4251.  
  4252. :live data: n. 1. Data that is written to be interpreted and takes
  4253.    over program flow when triggered by some un-obvious operation, such
  4254.    as viewing it.  One use of such hacks is to break security.  For
  4255.    example, some smart terminals have commands that allow one to
  4256.    download strings to program keys; this can be used to write live
  4257.    data that, when listed to the terminal, infects it with a
  4258.    security-breaking {virus} that is triggered the next time a
  4259.    hapless user strikes that key.  For another, there are some
  4260.    well-known bugs in {vi} that allow certain texts to send
  4261.    arbitrary commands back to the machine when they are simply viewed.
  4262.    2. In C code, data that includes pointers to function {hook}s
  4263.    (executable code).  3. An object, such as a {trampoline}, that is
  4264.    constructed on the fly by a program and intended to be executed as
  4265.    code.  4. Actual real-world data, as opposed to `test data'.
  4266.    For example, "I think I have the record deletion module
  4267.    finished."  "Have you tried it out on live data?"  It usually
  4268.    carries the connotation that live data is more fragile and must not
  4269.    be corrupted, else bad things will happen.  So a possible alternate
  4270.    response to the above claim might be: "Well, make sure it works
  4271.    perfectly before we throw live data at it."  The implication here
  4272.    is that record deletion is something pretty significant, and a
  4273.    haywire record-deletion module running amok on live data would
  4274.    cause great harm and probably require restoring from backups.
  4275.  
  4276. :Live Free Or Die!: imp. 1. The state motto of New Hampshire, which
  4277.    appears on that state's automobile license plates.  2. A slogan
  4278.    associated with UNIX in the romantic days when UNIX aficionados saw
  4279.    themselves as a tiny, beleaguered underground tilting against the
  4280.    windmills of industry.  The "free" referred specifically to
  4281.    freedom from the {fascist} design philosophies and crufty
  4282.    misfeatures common on commercial operating systems.  Armando
  4283.    Stettner, one of the early UNIX developers, used to give out fake
  4284.    license plates bearing this motto under a large UNIX, all in New
  4285.    Hampshire colors of green and white.  These are now valued
  4286.    collector's items.
  4287.  
  4288. :livelock: /li:v'lok/ n. A situation in which some critical stage
  4289.    of a task is unable to finish because its clients perpetually
  4290.    create more work for it to do after they have been serviced but
  4291.    before it can clear its queue.  Differs from {deadlock} in that
  4292.    the process is not blocked or waiting for anything, but has a
  4293.    virtually infinite amount of work to do and can never catch up.
  4294.  
  4295. :liveware: /li:v'weir/ n. 1. Synonym for {wetware}.  Less
  4296.    common.  2. [Cambridge] Vermin. "Waiter, there's some liveware in
  4297.    my salad..."
  4298.  
  4299. :lobotomy: n. 1. What a hacker subjected to formal management
  4300.    training is said to have undergone.  At IBM and elsewhere this term
  4301.    is used by both hackers and low-level management; the latter
  4302.    doubtless intend it as a joke.  2. The act of removing the
  4303.    processor from a microcomputer in order to replace or upgrade it.
  4304.    Some very cheap {clone} systems are sold in `lobotomized' form
  4305.    --- everything but the brain.
  4306.  
  4307. :locals, the: pl.n. The users on one's local network (as opposed, say,
  4308.    to people one reaches via public Internet or UUCP connects).  The
  4309.    marked thing about this usage is how little it has to do with
  4310.    real-space distance. "I have to do some tweaking on this mail
  4311.    utility before releasing it to the locals."
  4312.  
  4313. :locked and loaded: [from military slang for an M-16 rifle with
  4314.    magazine inserted and prepared for firing] adj. Said of a removable
  4315.    disk volume properly prepared for use --- that is, locked into the
  4316.    drive and with the heads loaded.  Ironically, because their heads
  4317.    are `loaded' whenever the power is up, this description is never
  4318.    used of {{Winchester}} drives (which are named after a rifle).
  4319.  
  4320. :locked up: adj. Syn. for {hung}, {wedged}.
  4321.  
  4322. :logic bomb: n. Code surreptitiously inserted in an application or
  4323.    OS that causes it to perform some destructive or
  4324.    security-compromising activity whenever specified conditions are
  4325.    met.  Compare {back door}.
  4326.  
  4327. :logical: [from the technical term `logical device', wherein a
  4328.    physical device is referred to by an arbitrary `logical' name]
  4329.    adj. Having the role of.  If a person (say, Les Earnest at SAIL)
  4330.    who had long held a certain post left and were replaced, the
  4331.    replacement would for a while be known as the `logical' Les
  4332.    Earnest.  (This does not imply any judgment on the replacement.)
  4333.    Compare {virtual}.
  4334.  
  4335.    At Stanford, `logical' compass directions denote a coordinate
  4336.    system in which `logical north' is toward San Francisco,
  4337.    `logical west' is toward the ocean, etc., even though logical
  4338.    north varies between physical (true) north near San Francisco and
  4339.    physical west near San Jose.  (The best rule of thumb here is that,
  4340.    by definition, El Camino Real always runs logical north-and-south.)
  4341.    In giving directions, one might say: "To get to Rincon Tarasco
  4342.    restaurant, get onto {El Camino Bignum} going logical north."
  4343.    Using the word `logical' helps to prevent the recipient from
  4344.    worrying about that the fact that the sun is setting almost
  4345.    directly in front of him.  The concept is reinforced by North
  4346.    American highways which are almost, but not quite, consistently
  4347.    labeled with logical rather than physical directions.  A similar
  4348.    situation exists at MIT: Route 128 (famous for the electronics
  4349.    industry that has grown up along it) is a 3-quarters circle
  4350.    surrounding Boston at a radius of 10 miles, terminating near the
  4351.    coastline at each end.  It would be most precise to describe the
  4352.    two directions along this highway as `clockwise' and
  4353.    `counterclockwise', but the road signs all say "north" and
  4354.    "south", respectively.  A hacker might describe these directions
  4355.    as `logical north' and `logical south', to indicate that they
  4356.    are conventional directions not corresponding to the usual
  4357.    denotation for those words.  (If you went logical south along the
  4358.    entire length of route 128, you would start out going northwest,
  4359.    curve around to the south, and finish headed due east, including
  4360.    one infamous stretch of pavement that is simultaneously route 128
  4361.    south and Interstate 93 north, and is signed as such!)
  4362.  
  4363. :loop through: vt. To process each element of a list of things.
  4364.    "Hold on, I've got to loop through my paper mail."  Derives from
  4365.    the computer-language notion of an iterative loop; compare `cdr
  4366.    down' (under {cdr}), which is less common among C and UNIX
  4367.    programmers.  ITS hackers used to say `IRP over' after an
  4368.    obscure pseudo-op in the MIDAS PDP-10 assembler.
  4369.  
  4370. :loose bytes: n. Commonwealth hackish term for the padding bytes or
  4371.    {shim}s many compilers insert between members of a record or
  4372.    structure to cope with alignment requirements imposed by the
  4373.    machine architecture.
  4374.  
  4375. :lord high fixer: [primarily British, from Gilbert & Sullivan's
  4376.    `lord high executioner'] n. The person in an organization who knows
  4377.    the most about some aspect of a system.  See {wizard}.
  4378.  
  4379. :lose: [MIT] vi. 1. To fail.  A program loses when it encounters
  4380.    an exceptional condition or fails to work in the expected manner.
  4381.    2. To be exceptionally unesthetic or crocky.  3. Of people, to
  4382.    be obnoxious or unusually stupid (as opposed to ignorant).  See
  4383.    also {deserves to lose}.  4. n. Refers to something that is
  4384.    {losing}, especially in the phrases "That's a lose!" and "What
  4385.    a lose!"
  4386.  
  4387. :lose lose: interj. A reply to or comment on an undesirable
  4388.    situation.  "I accidentally deleted all my files!"  "Lose,
  4389.    lose."
  4390.  
  4391. :loser: n. An unexpectedly bad situation, program, programmer, or
  4392.    person.  Someone who habitually loses.  (Even winners can lose
  4393.    occasionally.)  Someone who knows not and knows not that he knows
  4394.    not.  Emphatic forms are `real loser', `total loser', and
  4395.    `complete loser' (but not **`moby loser', which would be a
  4396.    contradiction in terms).  See {luser}.
  4397.  
  4398. :losing: adj. Said of anything that is or causes a {lose} or
  4399.    {lossage}.
  4400.  
  4401. :loss: n. Something (not a person) that loses; a situation in which
  4402.    something is losing.  Emphatic forms include `moby loss', and
  4403.    `total loss', `complete loss'.  Common interjections are
  4404.    "What a loss!"  and "What a moby loss!"  Note that `moby loss'
  4405.    is OK even though **`moby loser' is not used; applied to an abstract
  4406.    noun, moby is simply a magnifier, whereas when applied to a person
  4407.    it implies substance and has positive connotations.  Compare
  4408.    {lossage}.
  4409.  
  4410. :lossage: /los'*j/ n. The result of a bug or malfunction.  This
  4411.    is a mass or collective noun.  "What a loss!" and "What
  4412.    lossage!"  are nearly synonymous.  The former is slightly more
  4413.    particular to the speaker's present circumstances; the latter
  4414.    implies a continuing {lose} of which the speaker is currently a
  4415.    victim.  Thus (for example) a temporary hardware failure is a loss,
  4416.    but bugs in an important tool (like a compiler) are serious
  4417.    lossage.
  4418.  
  4419. :lost in the noise: adj. Syn. {lost in the underflow}.  This term
  4420.    is from signal processing, where signals of very small amplitude
  4421.    cannot be separated from low-intensity noise in the system.  Though
  4422.    popular among hackers, it is not confined to hackerdom; physicists,
  4423.    engineers, astronomers, and statisticians all use it.
  4424.  
  4425. :lost in the underflow: adj. Too small to be worth considering;
  4426.    more specifically, small beyond the limits of accuracy or
  4427.    measurement.  This is a reference to `floating underflow', a
  4428.    condition that can occur when a floating-point arithmetic processor
  4429.    tries to handle quantities smaller than its limit of magnitude.  It
  4430.    is also a pun on `undertow' (a kind of fast, cold current that
  4431.    sometimes runs just offshore and can be dangerous to swimmers).
  4432.    "Well, sure, photon pressure from the stadium lights alters the
  4433.    path of a thrown baseball, but that effect gets lost in the
  4434.    underflow."  See also {overflow bit}.
  4435.  
  4436. :lots of MIPS but no I/O: adj. Used to describe a person who is
  4437.    technically brilliant but can't seem to communicate with human
  4438.    beings effectively.  Technically it describes a machine that has
  4439.    lots of processing power but is bottlenecked on input-output (in
  4440.    1991, the IBM Rios, a.k.a. RS/6000, is a notorious recent
  4441.    example).
  4442.  
  4443. :low-bandwidth: [from communication theory] adj. Used to indicate a
  4444.    talk that, although not {content-free}, was not terribly
  4445.    informative.  "That was a low-bandwidth talk, but what can you
  4446.    expect for an audience of {suit}s!"  Compare {zero-content},
  4447.    {bandwidth}, {math-out}.
  4448.  
  4449. :LPT: /L-P-T/ or /lip'it/ or /lip-it'/ [MIT, via DEC] n. Line
  4450.    printer, of course.  Rare under UNIX, commoner in hackers with
  4451.    MS-DOS or CP/M background.  The printer device is called
  4452.    `LPT:' on those systems that, like ITS, were strongly
  4453.    influenced by early DEC conventions.
  4454.  
  4455. :Lubarsky's Law of Cybernetic Entomology: prov. "There is *always*
  4456.    one more bug."
  4457.  
  4458. :lunatic fringe: [IBM] n. Customers who can be relied upon to accept
  4459.    release 1 versions of software.
  4460.  
  4461. :lurker: n. One of the `silent majority' in a electronic forum;
  4462.    one who posts occasionally or not at all but is known to read the
  4463.    group's postings regularly.  This term is not pejorative and indeed
  4464.    is casually used reflexively: "Oh, I'm just lurking."  Often used
  4465.    in `the lurkers', the hypothetical audience for the group's
  4466.    {flamage}-emitting regulars.
  4467.  
  4468. :luser: /loo'zr/ n. A {user}; esp. one who is also a
  4469.    {loser}.  ({luser} and {loser} are pronounced
  4470.    identically.)  This word was coined around 1975 at MIT.  Under
  4471.    ITS, when you first walked up to a terminal at MIT and typed
  4472.    Control-Z to get the computer's attention, it printed out some
  4473.    status information, including how many people were already using
  4474.    the computer; it might print "14 users", for example.  Someone
  4475.    thought it would be a great joke to patch the system to print
  4476.    "14 losers" instead.  There ensued a great controversy, as some
  4477.    of the users didn't particularly want to be called losers to their
  4478.    faces every time they used the computer.  For a while several
  4479.    hackers struggled covertly, each changing the message behind the
  4480.    back of the others; any time you logged into the computer it was
  4481.    even money whether it would say "users" or "losers".  Finally,
  4482.    someone tried the compromise "lusers", and it stuck.  Later one
  4483.    of the ITS machines supported `luser' as a request-for-help
  4484.    command.  ITS died the death in mid-1990, except as a museum piece;
  4485.    the usage lives on, however, and the term `luser' is often seen
  4486.    in program comments.
  4487.  
  4488. = M =
  4489. =====
  4490.  
  4491. :M: [SI] pref. (on units) suff. (on numbers) See {{quantifiers}}.
  4492.  
  4493. :macdink: /mak'dink/ [from the Apple Macintosh, which is said to
  4494.    encourage such behavior] vt. To make many incremental and
  4495.    unnecessary cosmetic changes to a program or file.  Often the
  4496.    subject of the macdinking would be better off without them.  "When
  4497.    I left at 11 P.M. last night, he was still macdinking the
  4498.    slides for his presentation."  See also {fritterware},
  4499.    {window shopping}.
  4500.  
  4501. :machinable: adj. Machine-readable.  Having the {softcopy} nature.
  4502.  
  4503. :machoflops: /mach'oh-flops/ [pun on `megaflops', a coinage for
  4504.    `millions of FLoating-point Operations Per Second'] n. Refers to
  4505.    artificially inflated performance figures often quoted by computer
  4506.    manufacturers.  Real applications are lucky to get half the quoted
  4507.    speed. See {Your mileage may vary}, {benchmark}.
  4508.  
  4509. :Macintoy: /mak'in-toy/ n. The Apple Macintosh, considered as a
  4510.    {toy}.  Less pejorative than {Macintrash}.
  4511.  
  4512. :Macintrash: /mak'in-trash`/ n. The Apple Macintosh, as described
  4513.    by a hacker who doesn't appreciate being kept away from the
  4514.    *real computer* by the interface.  The term {maggotbox} has
  4515.    been reported in regular use in the Research Triangle area of North
  4516.    Carolina.  Compare {Macintoy}. See also {beige toaster},
  4517.    {WIMP environment}, {point-and-drool interface},
  4518.    {drool-proof paper}, {user-friendly}.
  4519.  
  4520. :macro: /mak'roh/ [techspeak] n. A name (possibly followed by a
  4521.    formal {arg} list) that is equated to a text or symbolic
  4522.    expression to which it is to be expanded (possibly with the
  4523.    substitution of actual arguments) by a macro expander.  This
  4524.    definition can be found in any technical dictionary; what those
  4525.    won't tell you is how the hackish connotations of the term have
  4526.    changed over time.
  4527.  
  4528.    The term `macro' originated in early assemblers, which encouraged
  4529.    the use of macros as a structuring and information-hiding device.
  4530.    During the early 1970s, macro assemblers became ubiquitous, and
  4531.    sometimes quite as powerful and expensive as {HLL}s, only to fall
  4532.    from favor as improving compiler technology marginalized assembler
  4533.    programming (see {languages of choice}).  Nowadays the term is
  4534.    most often used in connection with the C preprocessor, LISP, or one
  4535.    of several special-purpose languages built around a macro-expansion
  4536.    facility (such as TeX or UNIX's [nt]roff suite).
  4537.  
  4538.    Indeed, the meaning has drifted enough that the collective
  4539.    `macros' is now sometimes used for code in any special-purpose
  4540.    application control language (whether or not the language is
  4541.    actually translated by text expansion), and for macro-like entities
  4542.    such as the `keyboard macros' supported in some text editors
  4543.    (and PC TSR or Macintosh INIT/CDEV keyboard enhancers).
  4544.  
  4545. :macro-: pref. Large.  Opposite of {micro-}.  In the mainstream
  4546.    and among other technical cultures (for example, medical people)
  4547.    this competes with the prefix {mega-}, but hackers tend to
  4548.    restrict the latter to quantification.
  4549.  
  4550. :macrology: /mak-rol'*-jee/ n. 1. Set of usually complex or crufty
  4551.    macros, e.g., as part of a large system written in {LISP},
  4552.    {TECO}, or (less commonly) assembler.  2. The art and science
  4553.    involved in comprehending a macrology in sense 1.  Sometimes
  4554.    studying the macrology of a system is not unlike archeology,
  4555.    ecology, or {theology}, hence the sound-alike construction.  See
  4556.    also {boxology}.
  4557.  
  4558. :macrotape: /ma'kroh-tayp/ n. An industry-standard reel of tape, as
  4559.    opposed to a {microtape}.
  4560.  
  4561. :maggotbox: /mag'*t-boks/ n. See {Macintrash}.  This is even
  4562.    more derogatory.
  4563.  
  4564. :magic: adj. 1. As yet unexplained, or too complicated to explain;
  4565.    compare {automagically} and (Arthur C.) Clarke's Third Law:
  4566.    "Any sufficiently advanced technology is indistinguishable from
  4567.    magic."  "TTY echoing is controlled by a large number of magic
  4568.    bits."  "This routine magically computes the parity of an 8-bit
  4569.    byte in three instructions."  2. Characteristic of something that
  4570.    works although no one really understands why (this is especially
  4571.    called {black magic}).  3. [Stanford] A feature not generally
  4572.    publicized that allows something otherwise impossible, or a feature
  4573.    formerly in that category but now unveiled.  Compare {black
  4574.    magic}, {wizardly}, {deep magic}, {heavy wizardry}.
  4575.  
  4576.    For more about hackish `magic', see {A Story About `Magic'}
  4577.    (in {Appendix A}).
  4578.  
  4579. :magic cookie: [UNIX] n. 1. Something passed between routines or
  4580.    programs that enables the receiver to perform some operation; a
  4581.    capability ticket or opaque identifier.  Especially used of small
  4582.    data objects that contain data encoded in a strange or
  4583.    intrinsically machine-dependent way.  E.g., on non-UNIX OSes with a
  4584.    non-byte-stream model of files, the result of `ftell(3)' may
  4585.    be a magic cookie rather than a byte offset; it can be passed to
  4586.    `fseek(3)', but not operated on in any meaningful way.  The
  4587.    phrase `it hands you a magic cookie' means it returns a result
  4588.    whose contents are not defined but which can be passed back to the
  4589.    same or some other program later.  2. An in-band code for changing
  4590.    graphic rendition (e.g., inverse video or underlining) or
  4591.    performing other control functions (see also {cookie}).  Some
  4592.    older terminals would leave a blank on the screen corresponding to
  4593.    mode-change magic cookies; this was also called a {glitch}.  (or
  4594.    occasionally a `turd'; compare {mouse droppings}).  See also
  4595.    {cookie}.
  4596.  
  4597. :magic number: [UNIX/C] n. 1. In source code, some non-obvious
  4598.    constant whose value is significant to the operation of a program
  4599.    and that is inserted inconspicuously in-line ({hardcoded}),
  4600.    rather than expanded in by a symbol set by a commented
  4601.    `#define'.  Magic numbers in this sense are bad style.  2. A
  4602.    number that encodes critical information used in an algorithm in
  4603.    some opaque way.  The classic examples of these are the numbers
  4604.    used in hash or CRC functions, or the coefficients in a linear
  4605.    congruential generator for pseudo-random numbers.  This sense
  4606.    actually predates and was ancestral to the more common sense 1.
  4607.    3. Special data located at the beginning of a binary data file to
  4608.    indicate its type to a utility.  Under UNIX, the system and various
  4609.    applications programs (especially the linker) distinguish between
  4610.    types of executable file by looking for a magic number.  Once upon
  4611.    a time, these magic numbers were PDP-11 branch instructions that
  4612.    skipped over header data to the start of executable code; the 0407,
  4613.    for example, was octal for `branch 16 bytes relative'.  Nowadays
  4614.    only a {wizard} knows the spells to create magic numbers.  How do
  4615.    you choose a fresh magic number of your own?  Simple --- you pick
  4616.    one at random.  See?  It's magic!
  4617.  
  4618. :magic smoke: n. A substance trapped inside IC packages that enables
  4619.    them to function (also called `blue smoke'; this is similar to
  4620.    the archaic `phlogiston' hypothesis about combustion).  Its
  4621.    existence is demonstrated by what happens when a chip burns up ---
  4622.    the magic smoke gets let out, so it doesn't work any more.  See
  4623.    {smoke test}, {let the smoke out}.
  4624.  
  4625.    USENETter Jay Maynard tells the following story: "Once, while
  4626.    hacking on a dedicated Z80 system, I was testing code by blowing
  4627.    EPROMs and plugging them in the system, then seeing what happened.
  4628.    One time, I plugged one in backwards.  I only discovered that
  4629.    *after* I realized that Intel didn't put power-on lights under
  4630.    the quartz windows on the tops of their EPROMs --- the die was
  4631.    glowing white-hot.  Amazingly, the EPROM worked fine after I erased
  4632.    it, filled it full of zeros, then erased it again.  For all I know,
  4633.    it's still in service.  Of course, this is because the magic smoke
  4634.    didn't get let out."  Compare the original phrasing of {Murphy's
  4635.    Law}.
  4636.  
  4637. :mailbomb: (also mail bomb) [USENET] 1. v. To send, or urge
  4638.    others to send, massive amounts of {email} to a single system or
  4639.    person, as in retaliation for a perceived serious offense.
  4640.    Mailbombing is itself widely regarded as a serious offense --- it
  4641.    can disrupt email traffic or other facilities for innocent users on
  4642.    the victim's system, and in extreme cases, even at upstream sites.
  4643.    2. n. An automatic procedure with a similar effect.  3. n. The mail
  4644.    sent.
  4645.  
  4646. :mailing list: n. (often shortened in context to `list') 1. An
  4647.    {email} address that is an alias (or {macro}, though that word
  4648.    is never used in this connection) for many other email addresses.
  4649.    Some mailing lists are simple `reflectors', redirecting mail sent
  4650.    to them to the list of recipients.  Others are filtered by humans
  4651.    or programs of varying degrees of sophistication; lists filtered by
  4652.    humans are said to be `moderated'.  2. The people who receive
  4653.    your email when you send it to such an address.
  4654.  
  4655.    Mailing lists are one of the primary forms of hacker interaction,
  4656.    along with {USENET}.  They predate USENET, having originated
  4657.    with the first UUCP and ARPANET connections.  They are often used
  4658.    for private information-sharing on topics that would be too
  4659.    specialized for or inappropriate to public USENET groups.  Though
  4660.    some of these maintain purely technical content (such as the
  4661.    Internet Engineering Task Force mailing list), others (like the
  4662.    `sf-lovers' list maintained for many years by Saul Jaffe) are
  4663.    recreational, and others are purely social.  Perhaps the most
  4664.    infamous of the social lists was the eccentric bandykin
  4665.    distribution; its latter-day progeny, lectroids and
  4666.    tanstaafl, still include a number of the oddest and most
  4667.    interesting people in hackerdom.
  4668.  
  4669.    Mailing lists are easy to create and (unlike USENET) don't tie up a
  4670.    significant amount of machine resources (until they get very large,
  4671.    at which point they can become interesting torture tests for mail
  4672.    software).  Thus, they are often created temporarily by working
  4673.    groups, the members of which can then collaborate on a project
  4674.    without ever needing to meet face-to-face.  Much of the material in
  4675.    this lexicon was criticized and polished on just such a mailing
  4676.    list (called `jargon-friends'), which included all the co-authors
  4677.    of Steele-1983.
  4678.  
  4679. :main loop: n. Software tools are often written to perform some
  4680.    actions repeatedly on whatever input is handed to them, terminating
  4681.    when there is no more input or they are explicitly told to go away.
  4682.    In such programs, the loop that gets and processes input is called
  4683.    the `main loop'.  See also {driver}.
  4684.  
  4685. :mainframe: n. Term originally referring to the cabinet
  4686.    containing the central processor unit or `main frame' of a
  4687.    room-filling {Stone Age} batch machine.  After the emergence of
  4688.    smaller `minicomputer' designs in the early 1970s, the
  4689.    traditional {big iron} machines were described as `mainframe
  4690.    computers' and eventually just as mainframes.  The term carries the
  4691.    connotation of a machine designed for batch rather than interactive
  4692.    use, though possibly with an interactive timesharing operating
  4693.    system retrofitted onto it; it is especially used of machines built
  4694.    by IBM, Unisys, and the other great {dinosaur}s surviving from
  4695.    computing's {Stone Age}.
  4696.  
  4697.    It has been common wisdom among hackers since the late 1980s that
  4698.    the mainframe architectural tradition is essentially dead (outside
  4699.    of the tiny market for {number-crunching} supercomputers (see
  4700.    {cray})), having been swamped by the recent huge advances in IC
  4701.    technology and low-cost personal computing.  As of 1993, corporate
  4702.    America is just beginning to figure this out --- the wave of
  4703.    failures, takeovers, and mergers among traditional mainframe makers
  4704.    have certainly provided sufficient omens (see {dinosaurs
  4705.    mating}).
  4706.  
  4707. :management: n. 1. Corporate power elites distinguished primarily by
  4708.    their distance from actual productive work and their chronic
  4709.    failure to manage (see also {suit}).  Spoken derisively, as in
  4710.    "*Management* decided that ...".  2. Mythically, a vast
  4711.    bureaucracy responsible for all the world's minor irritations.
  4712.    Hackers' satirical public notices are often signed `The Mgt'; this
  4713.    derives from the `Illuminatus' novels (see the Bibliography in
  4714.    {Appendix C}).
  4715.  
  4716. :mandelbug: /mon'del-buhg/ [from the Mandelbrot set] n. A bug
  4717.    whose underlying causes are so complex and obscure as to make its
  4718.    behavior appear chaotic or even non-deterministic.  This term
  4719.    implies that the speaker thinks it is a {Bohr bug}, rather than a
  4720.    {heisenbug}.  See also {schroedinbug}.
  4721.  
  4722. :manged: /monjd/ [probably from the French `manger' or Italian
  4723.    `mangiare', to eat; perhaps influenced by English n. `mange',
  4724.    `mangy'] adj. Refers to anything that is mangled or damaged,
  4725.    usually beyond repair.  "The disk was manged after the electrical
  4726.    storm."  Compare {mung}.
  4727.  
  4728. :mangle: vt. Used similarly to {mung} or {scribble}, but more violent
  4729.    in its connotations; something that is mangled has been
  4730.    irreversibly and totally trashed.
  4731.  
  4732. :mangler: [DEC] n. A manager.  Compare {mango}; see also
  4733.    {management}.  Note that {system mangler} is somewhat different
  4734.    in connotation.
  4735.  
  4736. :mango: /mang'go/ [orig. in-house jargon at Symbolics] n. A manager.
  4737.    Compare {mangler}.  See also {devo} and {doco}.
  4738.  
  4739. :manularity: /man`yoo-la'ri-tee/ [prob. fr. techspeak `manual'
  4740.    + `granularity'] n. A notional measure of the manual labor
  4741.    required for some task, particularly one of the sort that
  4742.    automation is supposed to eliminate.  "Composing English on paper
  4743.    has much higher manularity than using a text editor, especially in
  4744.    the revising stage."  Hackers tend to consider manularity a symptom
  4745.    of primitive methods; in fact, a true hacker confronted with an
  4746.    apparent requirement to do a computing task {by hand} will
  4747.    inevitably seize the opportunity to build another tool (see
  4748.    {toolsmith}).
  4749.  
  4750. :marbles: [from mainstream "lost all his/her marbles"] pl.n. The
  4751.    minimum needed to build your way further up some hierarchy of tools
  4752.    or abstractions.  After a bad system crash, you need to determine
  4753.    if the machine has enough marbles to come up on its own, or enough
  4754.    marbles to allow a rebuild from backups, or if you need to rebuild
  4755.    from scratch.  "This compiler doesn't even have enough marbles to
  4756.    compile {hello, world}."
  4757.  
  4758. :marginal: adj. 1. Extremely small.  "A marginal increase in
  4759.    {core} can decrease {GC} time drastically."  In everyday
  4760.    terms, this means that it is a lot easier to clean off your desk if
  4761.    you have a spare place to put some of the junk while you sort
  4762.    through it.  2. Of extremely small merit.  "This proposed new
  4763.    feature seems rather marginal to me."  3. Of extremely small
  4764.    probability of {win}ning.  "The power supply was rather marginal
  4765.    anyway; no wonder it fried."
  4766.  
  4767. :Marginal Hacks: n. Margaret Jacks Hall, a building into which the
  4768.    Stanford AI Lab was moved near the beginning of the 1980s (from the
  4769.    {D. C. Power Lab}).
  4770.  
  4771. :marginally: adv. Slightly.  "The ravs here are only marginally
  4772.    better than at Small Eating Place."  See {epsilon}.
  4773.  
  4774. :marketroid: /mar'k*-troyd/ alt. `marketing slime',
  4775.    `marketeer', `mar-ket-ing droid', `marketdroid'. n. A member
  4776.    of a company's marketing department, esp. one who promises users
  4777.    that the next version of a product will have features that are not
  4778.    actually scheduled for inclusion, are extremely difficult to
  4779.    implement, and/or are in violation of the laws of physics; and/or
  4780.    one who describes existing features (and misfeatures) in ebullient,
  4781.    buzzword-laden adspeak.  Derogatory.  Compare {droid}.
  4782.  
  4783. :Mars: n. A legendary tragic failure, the archetypal Hacker Dream
  4784.    Gone Wrong.  Mars was the code name for a family of PDP-10
  4785.    compatible computers built by Systems Concepts (now, The SC Group);
  4786.    the multi-processor SC-30M, the small uniprocessor SC-25M, and the
  4787.    never-built superprocessor SC-40M.  These machines were marvels of
  4788.    engineering design; although not much slower than the unique
  4789.    {Foonly} F-1, they were physically smaller and consumed less
  4790.    power than the much slower DEC KS10 or Foonly F-2, F-3, or F-4
  4791.    machines.  They were also completely compatible with the DEC KL10,
  4792.    and ran all KL10 binaries, including the operating system, with no
  4793.    modifications at about 2--3 times faster than a KL10.
  4794.    
  4795.    When DEC cancelled the Jupiter project in 1983, Systems Concepts
  4796.    should have made a bundle selling their machine into shops with a
  4797.    lot of software investment in PDP-10s, and in fact their spring
  4798.    1984 announcement generated a great deal of excitement in the
  4799.    PDP-10 world.  TOPS-10 was running on the Mars by the summer of
  4800.    1984, and TOPS-20 by early fall.  Unfortunately, the hackers
  4801.    running Systems Concepts were much better at designing machines
  4802.    than at mass producing or selling them; the company allowed itself
  4803.    to be sidetracked by a bout of perfectionism into continually
  4804.    improving the design, and lost credibility as delivery dates
  4805.    continued to slip.  They also overpriced the product ridiculously;
  4806.    they believed they were competing with the KL10 and VAX 8600 and
  4807.    failed to reckon with the likes of Sun Microsystems and other
  4808.    hungry startups building workstations with power comparable to the
  4809.    KL10 at a fraction of the price.  By the time SC shipped the first
  4810.    SC-30M to Stanford in late 1985, most customers had already made
  4811.    the traumatic decision to abandon the PDP-10, usually for VMS or
  4812.    UNIX boxes.  Most of the Mars computers built ended up being
  4813.    purchased by CompuServe.
  4814.    
  4815.    This tale and the related saga of {Foonly} hold a lesson for hackers:
  4816.    if you want to play in the {Real World}, you need to learn Real World
  4817.    moves.
  4818.    
  4819. :martian: n. A packet sent on a TCP/IP network with a source
  4820.    address of the test loopback interface [127.0.0.1].  This means
  4821.    that it will come back at you labeled with a source address that
  4822.    is clearly not of this earth.  "The domain server is getting lots
  4823.    of packets from Mars.  Does that gateway have a martian filter?"
  4824.  
  4825. :massage: vt. Vague term used to describe `smooth' transformations of
  4826.    a data set into a different form, esp. transformations that do
  4827.    not lose information.  Connotes less pain than {munch} or {crunch}.
  4828.    "He wrote a program that massages X bitmap files into GIF
  4829.    format."  Compare {slurp}.
  4830.  
  4831. :math-out: [poss. from `white-out' (the blizzard variety)] n. A
  4832.    paper or presentation so encrusted with mathematical or other
  4833.    formal notation as to be incomprehensible.  This may be a device
  4834.    for concealing the fact that it is actually {content-free}.  See
  4835.    also {numbers}, {social science number}.
  4836.  
  4837. :Matrix: [FidoNet] n. 1. What the Opus BBS software and sysops call
  4838.    {FidoNet}.  2. Fanciful term for a {cyberspace} expected to
  4839.    emerge from current networking experiments (see {network, the}).
  4840.    3. The totality of present-day computer networks.
  4841.  
  4842. :maximum Maytag mode: What a {washing machine} or, by extension,
  4843.    any hard disk is in when it's being used so heavily that it's
  4844.    shaking like an old Maytag with an unbalanced load.  If prolonged
  4845.    for any length of time, can lead to disks becoming {walking
  4846.    drives}.
  4847.  
  4848. :Mbogo, Dr. Fred: /*m-boh'goh, dok'tr fred/ [Stanford] n. The
  4849.    archetypal man you don't want to see about a problem, esp. an
  4850.    incompetent professional; a shyster.  "Do you know a good eye
  4851.    doctor?"  "Sure, try Mbogo Eye Care and Professional Dry
  4852.    Cleaning."  The name comes from synergy between {bogus} and the
  4853.    original Dr. Mbogo, a witch doctor who was Gomez Addams' physician
  4854.    on the old "Addams Family" TV show.  Compare {Bloggs Family,
  4855.    the}, see also {fred}.
  4856.  
  4857. :meatware: n. Synonym for {wetware}.  Less common.
  4858.  
  4859. :meeces: /mees'*z/ [TMRC] n. Occasional furry visitors who are
  4860.    not {urchin}s.  [That is, mice. This may no longer be in live
  4861.    use; it clearly derives from the refrain of the early-1960s cartoon
  4862.    character Mr. Jinx: "I hate meeces to *pieces*!" --- ESR]
  4863.  
  4864. :meg: /meg/ n. See {{quantifiers}}.
  4865.  
  4866. :mega-: /me'g*/ [SI] pref. See {{quantifiers}}.
  4867.  
  4868. :megapenny: /meg'*-pen`ee/ n. $10,000 (1 cent * 10^6).
  4869.    Used semi-humorously as a unit in comparing computer cost and
  4870.    performance figures.
  4871.  
  4872. :MEGO: /me'goh/ or /mee'goh/ [`My Eyes Glaze Over', often `Mine Eyes
  4873.    Glazeth (sic) Over', attributed to the futurologist Herman Kahn]
  4874.    Also `MEGO factor'.  1. n. A {handwave} intended to confuse the
  4875.    listener and hopefully induce agreement because the listener does
  4876.    not want to admit to not understanding what is going on.  MEGO is
  4877.    usually directed at senior management by engineers and contains a
  4878.    high proportion of {TLA}s.  2. excl. An appropriate response to
  4879.    MEGO tactics.  3. Among non-hackers this term often refers not to
  4880.    behavior that causes the eyes to glaze, but to the eye-glazing
  4881.    reaction itself, which may be triggered by the mere threat of
  4882.    technical detail as effectively as by an actual excess of it.
  4883.  
  4884. :meltdown, network: n. See {network meltdown}.
  4885.  
  4886. :meme: /meem/ [coined by analogy with `gene', by Richard
  4887.    Dawkins] n. An idea considered as a {replicator}, esp. with
  4888.    the connotation that memes parasitize people into propagating them
  4889.    much as viruses do.  Used esp. in the phrase `meme complex'
  4890.    denoting a group of mutually supporting memes that form an
  4891.    organized belief system, such as a religion.  This lexicon is an
  4892.    (epidemiological) vector of the `hacker subculture' meme complex;
  4893.    each entry might be considered a meme.  However, `meme' is often
  4894.    misused to mean `meme complex'.  Use of the term connotes
  4895.    acceptance of the idea that in humans (and presumably other tool-
  4896.    and language-using sophonts) cultural evolution by selection of
  4897.    adaptive ideas has superseded biological evolution by selection of
  4898.    hereditary traits.  Hackers find this idea congenial for tolerably
  4899.    obvious reasons.
  4900.  
  4901. :meme plague: n. The spread of a successful but pernicious
  4902.    {meme}, esp. one that parasitizes the victims into giving
  4903.    their all to propagate it.  Astrology, BASIC, and the other guy's
  4904.    religion are often considered to be examples.  This usage is given
  4905.    point by the historical fact that `joiner' ideologies like
  4906.    Naziism or various forms of millennarian Christianity have
  4907.    exhibited plague-like cycles of exponential growth followed by
  4908.    collapses to small reservoir populations.
  4909.  
  4910. :memetics: /me-met'iks/ [from {meme}] The study of memes.  As of
  4911.    mid-1993, this is still an extremely informal and speculative
  4912.    endeavor, though the first steps towards at least statistical rigor
  4913.    have been made by H. Keith Henson and others.  Memetics is a
  4914.    popular topic for speculation among hackers, who like to see
  4915.    themselves as the architects of the new information ecologies in
  4916.    which memes live and replicate.
  4917.  
  4918. :memory farts: n. The flatulent sounds that some DOS box BIOSes
  4919.    (most notably AMI's) make when checking memory on bootup.
  4920.  
  4921. :memory leak: n. An error in a program's dynamic-store allocation
  4922.    logic that causes it to fail to reclaim discarded memory, leading
  4923.    to eventual collapse due to memory exhaustion.  Also (esp. at
  4924.    CMU) called {core leak}.  These problems were severe on older
  4925.    machines with small, fixed-size address spaces, and special "leak
  4926.    detection" tools were commonly written to root them out.  With the
  4927.    advent of virtual memory, it is unfortunately easier to be sloppy
  4928.    about wasting a bit of memory (although when you run out of memory
  4929.    on a VM machine, it means you've got a *real* leak!).  See
  4930.    {aliasing bug}, {fandango on core}, {smash the stack},
  4931.    {precedence lossage}, {overrun screw}, {leaky heap},
  4932.    {leak}.
  4933.  
  4934. :memory smash: [XEROX PARC] n. Writing through a pointer that
  4935.    doesn't point to what you think it does.  This occasionally reduces
  4936.    your machine to a rubble of bits.  Note that this is subtly
  4937.    different from (and more general than) related terms such as a
  4938.    {memory leak} or {fandango on core} because it doesn't imply
  4939.    an allocation error or overrun condition.
  4940.  
  4941. :menuitis: /men`yoo-i:'tis/ n. Notional disease suffered by software
  4942.    with an obsessively simple-minded menu interface and no escape.
  4943.    Hackers find this intensely irritating and much prefer the
  4944.    flexibility of command-line or language-style interfaces,
  4945.    especially those customizable via macros or a special-purpose
  4946.    language in which one can encode useful hacks.  See
  4947.    {user-obsequious}, {drool-proof paper}, {WIMP environment},
  4948.    {for the rest of us}.
  4949.  
  4950. :mess-dos: /mes-dos/ n. Derisory term for MS-DOS.  Often followed
  4951.    by the ritual banishing "Just say No!"  See {{MS-DOS}}.  Most
  4952.    hackers (even many MS-DOS hackers) loathe MS-DOS for its
  4953.    single-tasking nature, its limits on application size, its nasty
  4954.    primitive interface, and its ties to IBMness (see {fear and
  4955.    loathing}).  Also `mess-loss', `messy-dos', `mess-dog',
  4956.    `mess-dross', `mush-dos', and various combinations thereof.  In
  4957.    Ireland and the U.K. it is even sometimes called `Domestos' after a
  4958.    brand of toilet cleanser.
  4959.  
  4960. :meta: /me't*/ or /may't*/ or (Commonwealth) /mee't*/ [from
  4961.    analytic philosophy] adj.,pref. One level of description up.  A
  4962.    metasyntactic variable is a variable in notation used to describe
  4963.    syntax, and meta-language is language used to describe language.
  4964.    This is difficult to explain briefly, but much hacker humor turns
  4965.    on deliberate confusion between meta-levels.  See {{Humor,
  4966.    Hacker}}.
  4967.  
  4968. :meta bit: n. The top bit of an 8-bit character, which is on in
  4969.    character values 128--255.  Also called {high bit}, {alt bit},
  4970.    or {hobbit}.  Some terminals and consoles (see {space-cadet
  4971.    keyboard}) have a META shift key.  Others (including,
  4972.    *mirabile dictu*, keyboards on IBM PC-class machines) have an
  4973.    ALT key.  See also {bucky bits}.
  4974.  
  4975.    Historical note: although in modern usage shaped by a universe of
  4976.    8-bit bytes the meta bit is invariably hex 80 (octal 0200), things
  4977.    were different on earlier machines with 36-bit words and 9-bit
  4978.    bytes.  The MIT and Stanford keyboards (see {space-cadet
  4979.    keyboard}) generated hex 100 (octal 400) from their meta keys.
  4980.  
  4981. :metasyntactic variable: n. A name used in examples and understood
  4982.    to stand for whatever thing is under discussion, or any random
  4983.    member of a class of things under discussion.  The word {foo} is
  4984.    the {canonical} example.  To avoid confusion, hackers never
  4985.    (well, hardly ever) use `foo' or other words like it as permanent
  4986.    names for anything.  In filenames, a common convention is that any
  4987.    filename beginning with a metasyntactic-variable name is a
  4988.    {scratch} file that may be deleted at any time.
  4989.  
  4990.    To some extent, the list of one's preferred metasyntactic variables
  4991.    is a cultural signature.  They occur both in series (used for
  4992.    related groups of variables or objects) and as singletons.  Here
  4993.    are a few common signatures:
  4994.  
  4995.      {foo}, {bar}, {baz}, {quux}, quuux, quuuux...:
  4996.              MIT/Stanford usage, now found everywhere (thanks largely to early
  4997.              versions of this lexicon!).  At MIT, {baz} dropped out of use for
  4998.              a while in the 1970s and '80s. A common recent mutation of this
  4999.              sequence inserts {qux} before {quux}.
  5000.      {foo}, {bar}, thud, grunt:
  5001.              This series was popular at CMU.  Other CMU-associated variables
  5002.              include {gorp}.
  5003.      {foo}, {bar}, fum:
  5004.              This series is reported to be common at XEROX PARC.
  5005.      {fred}, {barney}:
  5006.              See the entry for {fred}.  These tend to be Britishisms.
  5007.      {toto}, titi, tata, tutu:
  5008.              Standard series of metasyntactic variables among francophones.
  5009.      {corge}, {grault}, {flarp}:
  5010.              Popular at Rutgers University and among {GOSMACS} hackers.
  5011.      zxc, spqr, {wombat}:
  5012.              Cambridge University (England).
  5013.      shme
  5014.              Berkeley, GeoWorks.  Pronounced /shmee/.
  5015.      {foo}, {bar}, zot
  5016.              Helsinki University of Technology, Finland.
  5017.      blarg, wibble
  5018.              New Zealand
  5019.  
  5020.    Of all these, only `foo' and `bar' are universal (and {baz}
  5021.    nearly so).  The compounds {foobar} and `foobaz' also enjoy
  5022.    very wide currency.  
  5023.  
  5024.    Some jargon terms are also used as metasyntactic names; {barf}
  5025.    and {mumble}, for example.  See also {{Commonwealth Hackish}}
  5026.    for discussion of numerous metasyntactic variables found in Great
  5027.    Britain and the Commonwealth.
  5028.  
  5029. :MFTL: /M-F-T-L/ [abbreviation: `My Favorite Toy Language'] 1. adj.
  5030.    Describes a talk on a programming language design that is heavy on
  5031.    the syntax (with lots of BNF), sometimes even talks about semantics
  5032.    (e.g., type systems), but rarely, if ever, has any content (see
  5033.    {content-free}).  More broadly applied to talks --- even when
  5034.    the topic is not a programming language --- in which the subject
  5035.    matter is gone into in unnecessary and meticulous detail at the
  5036.    sacrifice of any conceptual content.  "Well, it was a typical MFTL
  5037.    talk".  2. n. Describes a language about which the developers are
  5038.    passionate (often to the point of prosyletic zeal) but no one else
  5039.    cares about.  Applied to the language by those outside the
  5040.    originating group.  "He cornered me about type resolution in his
  5041.    MFTL."
  5042.  
  5043.    The first great goal in the mind of the designer of an MFTL is
  5044.    usually to write a compiler for it, then bootstrap the design away
  5045.    from contamination by lesser languages by writing a compiler for it
  5046.    in itself.  Thus, the standard put-down question at an MFTL talk is
  5047.    "Has it been used for anything besides its own compiler?".  On
  5048.    the other hand, a language that *cannot* be used to write
  5049.    its own compiler is beneath contempt.  See {break-even point}.
  5050.  
  5051.    (On a related note, Dennis Ritchie once proposed a test of the
  5052.    generality and utility of a language and the operating system under
  5053.    which it is compiled: "Is the output of a FORTRAN program compiled
  5054.    under the language acceptable as input to the FORTRAN compiler?"
  5055.    In other words, can you write programs thaat write programs? (See
  5056.    {toolsmith}.)  Alarming numbers of (language, OS) pairs fail
  5057.    this test, particularly when the language is FORTRAN; Ritchie is
  5058.    quick to point out that {UNIX} (even using FORTRAN) passes it
  5059.    handily.  That the test could ever be failed is only surprising to
  5060.    those who have had the good fortune to have worked only under
  5061.    modern systems which lack OS-supported and -imposed "file
  5062.    types".)
  5063.  
  5064. :mickey: n. The resolution unit of mouse movement.  It has been
  5065.    suggested that the `disney' will become a benchmark unit for
  5066.    animation graphics performance.
  5067.  
  5068. :mickey mouse program: n. North American equivalent of a {noddy}
  5069.    (that is, trivial) program.  Doesn't necessarily have the
  5070.    belittling connotations of mainstream slang "Oh, that's just
  5071.    mickey mouse stuff!"; sometimes trivial programs can be very
  5072.    useful.
  5073.  
  5074. :micro-: pref. 1. Very small; this is the root of its use as a
  5075.    quantifier prefix.  2. A quantifier prefix, calling for
  5076.    multiplication by 10^(-6) (see {{quantifiers}}).  Neither
  5077.    of these uses is peculiar to hackers, but hackers tend to fling
  5078.    them both around rather more freely than is countenanced in
  5079.    standard English.  It is recorded, for example, that one
  5080.    CS professor used to characterize the standard length of his
  5081.    lectures as a microcentury --- that is, about 52.6 minutes (see
  5082.    also {attoparsec}, {nanoacre}, and especially
  5083.    {microfortnight}).  3. Personal or human-scale --- that is,
  5084.    capable of being maintained or comprehended or manipulated by one
  5085.    human being.  This sense is generalized from `microcomputer',
  5086.    and is esp. used in contrast with `macro-' (the corresponding
  5087.    Greek prefix meaning `large').  4. Local as opposed to global (or
  5088.    {macro-}).  Thus a hacker might say that buying a smaller car to
  5089.    reduce pollution only solves a microproblem; the macroproblem of
  5090.    getting to work might be better solved by using mass transit,
  5091.    moving to within walking distance, or (best of all) telecommuting.
  5092.  
  5093. :microfloppies: n. 3.5-inch floppies, as opposed to 5.25-inch
  5094.    {vanilla} or mini-floppies and the now-obsolete 8-inch variety.
  5095.    This term may be headed for obsolescence as 5.25-inchers pass out
  5096.    of use, only to be revived if anybody floats a sub-3-inch floppy
  5097.    standard.  See {stiffy}, {minifloppies}.
  5098.  
  5099. :microfortnight: n. 1/1000000 of the fundamental unit of time in
  5100.    the Furlong/Firkin/Fortnight system of measurement; 1.2096 sec.  (A
  5101.    furlong is 1/8th of a mile; a firkin is 1/4th of a barrel; the mass
  5102.    unit of the system is taken to be a firkin of water).  The VMS
  5103.    operating system has a lot of tuning parameters that you can set
  5104.    with the SYSGEN utility, and one of these is TIMEPROMPTWAIT, the
  5105.    time the system will wait for an operator to set the correct date
  5106.    and time at boot if it realizes that the current value is bogus.
  5107.    This time is specified in microfortnights!
  5108.  
  5109.    Multiple uses of the millifortnight (about 20 minutes) and
  5110.    {nanofortnight} have also been reported.
  5111.  
  5112. :microLenat: /mi:-kroh-len'-*t/ n. See {bogosity}.
  5113.  
  5114. :microReid: /mi:'kroh-reed/ n. See {bogosity}.
  5115.  
  5116. :Microsloth Windows: /mi:'kroh-sloth` win'dohz/ n. Hackerism for
  5117.    `Microsoft Windows', a windowing system for the IBM-PC which is so
  5118.    limited by bug-for-bug compatibility with {mess-dos} that it is
  5119.    agonizingly slow on anything less than a fast 386.  Compare {X},
  5120.    {sun-stools}.
  5121.  
  5122. :microtape: /mi:'kroh-tayp/ n. Occasionally used to mean a
  5123.    DECtape, as opposed to a {macrotape}.  A DECtape is a small
  5124.    reel, about 4 inches in diameter, of magnetic tape about an inch
  5125.    wide.  Unlike drivers for today's {macrotape}s, microtape
  5126.    drivers allow random access to the data, and therefore could be
  5127.    used to support file systems and even for swapping (this was
  5128.    generally done purely for {hack value}, as they were far too
  5129.    slow for practical use).  In their heyday they were used in pretty
  5130.    much the same ways one would now use a floppy disk: as a small,
  5131.    portable way to save and transport files and programs.  Apparently
  5132.    the term `microtape' was actually the official term used within
  5133.    DEC for these tapes until someone coined the word `DECtape',
  5134.    which, of course, sounded sexier to the {marketroid}s; another
  5135.    version of the story holds that someone discovered a conflict with
  5136.    another company's `microtape' trademark.
  5137.  
  5138. :middle-endian: adj. Not {big-endian} or {little-endian}.
  5139.    Used of perverse byte orders such as 3-4-1-2 or 2-1-4-3,
  5140.    occasionally found in the packed-decimal formats of minicomputer
  5141.    manufacturers who shall remain nameless.  See {NUXI problem}.
  5142.  
  5143. :milliLampson: /mil'*-lamp`sn/ n. A unit of talking speed,
  5144.    abbreviated mL.  Most people run about 200 milliLampsons.  Butler
  5145.    Lampson (a CS theorist and systems implementor highly regarded
  5146.    among hackers) goes at 1000.  A few people speak faster.  This unit
  5147.    is sometimes used to compare the (sometimes widely disparate) rates
  5148.    at which people can generate ideas and actually emit them in
  5149.    speech.  For example, noted computer architect C. Gordon Bell
  5150.    (designer of the PDP-11) is said, with some awe, to think at about
  5151.    1200 mL but only talk at about 300; he is frequently reduced to
  5152.    fragments of sentences as his mouth tries to keep up with his
  5153.    speeding brain.
  5154.  
  5155. :minifloppies: n. 5.25-inch {vanilla} floppy disks, as opposed to
  5156.    3.5-inch or {microfloppies} and the now-obsolescent 8-inch
  5157.    variety.  At one time, this term was a trademark of Shugart
  5158.    Associates for their SA-400 minifloppy drive.  Nobody paid any
  5159.    attention.  See {stiffy}.
  5160.  
  5161. :MIPS: /mips/ [abbreviation] n. 1. A measure of computing speed;
  5162.    formally, `Million Instructions Per Second' (that's 10^6
  5163.    per second, not 2^(20)!); often rendered by hackers as
  5164.    `Meaningless Indication of Processor Speed' or in other
  5165.    unflattering ways.  This joke expresses a nearly universal attitude
  5166.    about the value of most {benchmark} claims, said attitude being
  5167.    one of the great cultural divides between hackers and
  5168.    {marketroid}s.  The singular is sometimes `1 MIP' even though
  5169.    this is clearly etymologically wrong.  See also {KIPS} and
  5170.    {GIPS}.  2. Computers, especially large computers, considered
  5171.    abstractly as sources of {computron}s.  "This is just a
  5172.    workstation; the heavy MIPS are hidden in the basement."  3. The
  5173.    corporate name of a particular RISC-chip company; among other
  5174.    things, they designed the processor chips used in DEC's 3100
  5175.    workstation series.  4. Acronym for `Meaningless Information per
  5176.    Second' (a joke, prob. from sense 1).
  5177.  
  5178. :misbug: /mis-buhg/ [MIT] n. An unintended property of a program
  5179.    that turns out to be useful; something that should have been a
  5180.    {bug} but turns out to be a {feature}.  Usage: rare.  Compare
  5181.    {green lightning}. See {miswart}.
  5182.  
  5183. :misfeature: /mis-fee'chr/ or /mis'fee`chr/ n. A feature that
  5184.    eventually causes lossage, possibly because it is not adequate for
  5185.    a new situation that has evolved.  Since it results from a
  5186.    deliberate and properly implemented feature, a misfeature is not a
  5187.    bug.  Nor is it a simple unforeseen side effect; the term implies
  5188.    that the feature in question was carefully planned, but its
  5189.    long-term consequences were not accurately or adequately predicted
  5190.    (which is quite different from not having thought ahead at all).  A
  5191.    misfeature can be a particularly stubborn problem to resolve,
  5192.    because fixing it usually involves a substantial philosophical
  5193.    change to the structure of the system involved.
  5194.  
  5195.    Many misfeatures (especially in user-interface design) arise
  5196.    because the designers/implementors mistake their personal tastes
  5197.    for laws of nature.  Often a former feature becomes a misfeature
  5198.    because a trade-off was made whose parameters subsequently change
  5199.    (possibly only in the judgment of the implementors).  "Well, yeah,
  5200.    it is kind of a misfeature that file names are limited to six
  5201.    characters, but the original implementors wanted to save directory
  5202.    space and we're stuck with it for now."
  5203.  
  5204. :Missed'em-five: n. Pejorative hackerism for AT&T System V UNIX,
  5205.    generally used by {BSD} partisans in a bigoted mood.  (The
  5206.    synonym `SysVile' is also encountered.)  See {software bloat},
  5207.    {Berzerkeley}.
  5208.  
  5209. :missile address: n. See {ICBM address}.
  5210.  
  5211. :miswart: /mis-wort/ [from {wart} by analogy with {misbug}] n.
  5212.    A {feature} that superficially appears to be a {wart} but has been
  5213.    determined to be the {Right Thing}.  For example, in some versions
  5214.    of the {EMACS} text editor, the `transpose characters' command
  5215.    exchanges the character under the cursor with the one before it on the
  5216.    screen, *except* when the cursor is at the end of a line, in
  5217.    which case the two characters before the cursor are exchanged.
  5218.    While this behavior is perhaps surprising, and certainly
  5219.    inconsistent, it has been found through extensive experimentation
  5220.    to be what most users want.  This feature is a miswart.
  5221.  
  5222. :moby: /moh'bee/ [MIT: seems to have been in use among model
  5223.    railroad fans years ago.  Derived from Melville's `Moby Dick'
  5224.    (some say from `Moby Pickle').] 1. adj. Large, immense, complex,
  5225.    impressive.  "A Saturn V rocket is a truly moby frob."  "Some
  5226.    MIT undergrads pulled off a moby hack at the Harvard-Yale game."
  5227.    (See "{The Meaning of `Hack'}").  2. n. obs. The
  5228.    maximum address space of a machine (see below).  For a 680[234]0 or
  5229.    VAX or most modern 32-bit architectures, it is 4,294,967,296 8-bit
  5230.    bytes (4 gigabytes).  3. A title of address (never of third-person
  5231.    reference), usually used to show admiration, respect, and/or
  5232.    friendliness to a competent hacker.  "Greetings, moby Dave.  How's
  5233.    that address-book thing for the Mac going?"  4. adj. In
  5234.    backgammon, doubles on the dice, as in `moby sixes', `moby
  5235.    ones', etc.  Compare this with {bignum} (sense 3): double sixes
  5236.    are both bignums and moby sixes, but moby ones are not bignums (the
  5237.    use of `moby' to describe double ones is sarcastic).  Standard
  5238.    emphatic forms: `Moby foo', `moby win', `moby loss'.  `Foby
  5239.    moo': a spoonerism due to Richard Greenblatt.  5. The largest
  5240.    available unit of something which is available in discrete
  5241.    increments. Thus, ordering a "moby Coke" at your favorite
  5242.    fast-food joint is not just a request for a large Coke, it's an
  5243.    explicit request for the largest size they sell.
  5244.  
  5245.    This term entered hackerdom with the Fabritek 256K memory added to
  5246.    the MIT AI PDP-6 machine, which was considered unimaginably huge
  5247.    when it was installed in the 1960s (at a time when a more typical
  5248.    memory size for a timesharing system was 72 kilobytes).  Thus, a
  5249.    moby is classically 256K 36-bit words, the size of a PDP-6 or
  5250.    PDP-10 moby.  Back when address registers were narrow the term was
  5251.    more generally useful, because when a computer had virtual memory
  5252.    mapping, it might actually have more physical memory attached to it
  5253.    than any one program could access directly.  One could then say
  5254.    "This computer has 6 mobies" meaning that the ratio of physical
  5255.    memory to address space is 6, without having to say specifically
  5256.    how much memory there actually is.  That in turn implied that the
  5257.    computer could timeshare six `full-sized' programs without having
  5258.    to swap programs between memory and disk.
  5259.  
  5260.    Nowadays the low cost of processor logic means that address spaces
  5261.    are usually larger than the most physical memory you can cram onto
  5262.    a machine, so most systems have much *less* than one theoretical
  5263.    `native' moby of {core}.  Also, more modern memory-management
  5264.    techniques (esp. paging) make the `moby count' less significant.
  5265.    However, there is one series of widely-used chips for which the term
  5266.    could stand to be revived --- the Intel 8088 and 80286 with their
  5267.    incredibly {brain-damaged} segmented-memory designs.  On these, a
  5268.    `moby' would be the 1-megabyte address span of a segment/offset
  5269.    pair (by coincidence, a PDP-10 moby was exactly 1 megabyte of 9-bit
  5270.    bytes).
  5271.  
  5272. :mockingbird: n. Software that intercepts communications
  5273.    (especially login transactions) between users and hosts and
  5274.    provides system-like responses to the users while saving their
  5275.    responses (especially account IDs and passwords).  A special case
  5276.    of {Trojan Horse}.
  5277.  
  5278. :mod: vt.,n. 1. Short for `modify' or `modification'.  Very
  5279.    commonly used --- in fact the full terms are considered markers
  5280.    that one is being formal.  The plural `mods' is used esp. with
  5281.    reference to bug fixes or minor design changes in hardware or
  5282.    software, most esp. with respect to {patch} sets or a {diff}.
  5283.    2. Short for {modulo} but used *only* for its techspeak sense.
  5284.  
  5285. :mode: n. A general state, usually used with an adjective
  5286.    describing the state.  Use of the word `mode' rather than
  5287.    `state' implies that the state is extended over time, and
  5288.    probably also that some activity characteristic of that state is
  5289.    being carried out. "No time to hack; I'm in thesis mode."  In its
  5290.    jargon sense, `mode' is most often attributed to people, though
  5291.    it is sometimes applied to programs and inanimate objects. In
  5292.    particular, see {hack mode}, {day mode}, {night mode},
  5293.    {demo mode}, {fireworks mode}, and {yoyo mode}; also
  5294.    {talk mode}.
  5295.  
  5296.    One also often hears the verbs `enable' and `disable' used in
  5297.    connection with jargon modes.  Thus, for example, a sillier way of
  5298.    saying "I'm going to crash" is "I'm going to enable crash mode
  5299.    now".  One might also hear a request to "disable flame mode,
  5300.    please".
  5301.  
  5302.    In a usage much closer to techspeak, a mode is a special state
  5303.    that certain user interfaces must pass into in order to perform
  5304.    certain functions.  For example, in order to insert characters into a
  5305.    document in the UNIX editor `vi', one must type the "i" key,
  5306.    which invokes the "Insert" command.  The effect of this command
  5307.    is to put vi into "insert mode", in which typing the "i" key
  5308.    has a quite different effect (to wit, it inserts an "i" into the
  5309.    document).  One must then hit another special key, "ESC", in
  5310.    order to leave "insert mode".  Nowadays, moded interfaces are
  5311.    generally considered {losing} but survive in quite a few
  5312.    widely used tools built in less enlightened times.
  5313.  
  5314. :mode bit: n. A {flag}, usually in hardware, that selects between
  5315.    two (usually quite different) modes of operation.  The connotations
  5316.    are different from {flag} bit in that mode bits are mainly
  5317.    written during a boot or set-up phase, are seldom explicitly read,
  5318.    and seldom change over the lifetime of an ordinary program.  The
  5319.    classic example was the EBCDIC-vs.-ASCII bit (#12) of the Program
  5320.    Status Word of the IBM 360.  Another was the bit on a PDP-12 that
  5321.    controlled whether it ran the PDP-8 or the LINC instruction set.
  5322.  
  5323. :modulo: /mo'dyu-loh/ prep. Except for.  An overgeneralization of
  5324.    mathematical terminology; one can consider saying that
  5325.    4 = 22 except for the 9s (4 = 22 mod 9).  "Well,
  5326.    LISP seems to work okay now, modulo that {GC} bug."  "I feel
  5327.    fine today modulo a slight headache."
  5328.  
  5329. :molly-guard: /mol'ee-gard/ [University of Illinois] n. A shield
  5330.    to prevent tripping of some {Big Red Switch} by clumsy or
  5331.    ignorant hands.  Originally used of some plexiglass covers
  5332.    improvised for the BRS on an IBM 4341 after a programmer's toddler
  5333.    daughter (named Molly) frobbed it twice in one day.  Later
  5334.    generalized to covers over stop/reset switches on disk drives and
  5335.    networking equipment.
  5336.  
  5337. :Mongolian Hordes technique: n. Development by {gang bang}
  5338.    (poss. from the Sixties counterculture expression `Mongolian
  5339.    clusterfuck' for a public orgy).  Implies that large numbers of
  5340.    inexperienced programmers are being put on a job better performed
  5341.    by a few skilled ones.  Also called `Chinese Army technique';
  5342.    see also {Brooks's Law}.
  5343.  
  5344. :monkey up: vt. To hack together hardware for a particular task,
  5345.    especially a one-shot job.  Connotes an extremely {crufty} and
  5346.    consciously temporary solution.  Compare {hack up}, {kluge up},
  5347.    {cruft together}, {cruft together}.
  5348.  
  5349. :monkey, scratch: n. See {scratch monkey}.
  5350.  
  5351. :monstrosity: 1. n. A ridiculously {elephantine} program or
  5352.    system, esp. one that is buggy or only marginally functional.
  5353.    2. The quality of being monstrous (see `Overgeneralization' in the
  5354.    discussion of jargonification).  See also {baroque}.
  5355.  
  5356. :monty: /mon'tee/ [US Geological Survey] n.  A program with a
  5357.    ludicrously complex user interface written to perform extremely
  5358.    trivial tasks.  An example would be a menu-driven, button clicking,
  5359.    pulldown, pop-up windows program for listing directories.  The
  5360.    original monty was an infamous weather-reporting program, Monty the
  5361.    Amazing Weather Man, written at the USGS.  Monty had a
  5362.    widget-packed X-window interface with over 200 buttons; and all
  5363.    monty actually *did* was {FTP} files off the network.
  5364.  
  5365. :Moof: /moof/ [MAC users] 1. n. A semi-legendary creature, also
  5366.    called the `dogcow', that lurks in the depths of the Macintosh
  5367.    Technical Notes Hypercard stack V3.1; specifically, the full story
  5368.    of the dogcow is told in technical note #31 (the particular Moof
  5369.    illustrated is properly named `Clarus').  Option-shift-click will
  5370.    cause it to emit a characteristic `Moof!' or `!fooM' sound.
  5371.    *Getting* to tech note 31 is the hard part; to discover how to
  5372.    do that, one must needs examine the stack script with a hackerly
  5373.    eye.  Clue: {rot13} is involved.  A dogcow also appears if you
  5374.    choose `Page Setup...' with a LaserWriter selected and click on
  5375.    the `Options' button.  2. adj. Used to flag software that's a hack,
  5376.    something untested and on the edge.  On one Apple CD-ROM, certain
  5377.    folders such as "Tools & Apps (Moof!)" and "Development
  5378.    Platforms (Moof!)", are so marked to indicate that they contain
  5379.    software not fully tested or sanctioned by the powers that be.
  5380.    When you open these folders you cross the boundary into
  5381.    hackerland.
  5382.  
  5383. :Moore's Law: /morz law/ prov. The observation that the logic
  5384.    density of silicon integrated circuits has closely followed the
  5385.    curve (bits per square inch)  = 2^((t - 1962)) where t
  5386.    is time in years; that is, the amount of information storable in
  5387.    one square inch of silicon has roughly doubled yearly every year
  5388.    since the technology was invented.  See also {Parkinson's Law of
  5389.    Data}.
  5390.  
  5391. :moose call: n. See {whalesong}.
  5392.  
  5393. :moria: /mor'ee-*/ n. Like {nethack} and {rogue}, one of
  5394.    the large PD Dungeons-and-Dragons-like simulation games, available
  5395.    for a wide range of machines and operating systems.  The name is
  5396.    from Tolkien's Mines of Moria; compare {elder days}.
  5397.    {elvish}.  The game is extremely addictive and a major consumer
  5398.    of time better used for hacking.
  5399.  
  5400. :MOTAS: /moh-toz/ [USENET: Member Of The Appropriate Sex, after
  5401.    {MOTOS} and {MOTSS}] n. A potential or (less often) actual sex
  5402.    partner.  See also {SO}.
  5403.  
  5404. :MOTOS: /moh-tohs/ [acronym from the 1970 U.S. census forms via
  5405.    USENET: Member Of The Opposite Sex] n. A potential or (less often)
  5406.    actual sex partner.  See {MOTAS}, {MOTSS}, {SO}.  Less
  5407.    common than MOTSS or {MOTAS}, which have largely displaced it.
  5408.  
  5409. :MOTSS: /mots/ or /M-O-T-S-S/ [from the 1970 U.S. census forms
  5410.    via USENET, Member Of The Same Sex] n. Esp. one considered as a
  5411.    possible sexual partner.  The gay-issues newsgroup on USENET is
  5412.    called soc.motss.  See {MOTOS} and {MOTAS}, which derive
  5413.    from it.  Also see {SO}.
  5414.  
  5415. :mouse ahead: vi. Point-and-click analog of `type ahead'.  To
  5416.    manipulate a computer's pointing device (almost always a mouse in
  5417.    this usage, but not necessarily) and its selection or command
  5418.    buttons before a computer program is ready to accept such input, in
  5419.    anticipation of the program accepting the input.  Handling this
  5420.    properly is rare, but it can help make a {WIMP environment} much
  5421.    more usable, assuming the users are familiar with the behavior of
  5422.    the user interface.
  5423.  
  5424. :mouse around: vi. To explore public portions of a large system, esp.
  5425.    a network such as Internet via {FTP} or {TELNET}, looking for
  5426.    interesting stuff to {snarf}.
  5427.  
  5428. :mouse belt: n. See {rat belt}.
  5429.  
  5430. :mouse droppings: [MS-DOS] n. Pixels (usually single) that are not
  5431.    properly restored when the mouse pointer moves away from a
  5432.    particular location on the screen, producing the appearance that
  5433.    the mouse pointer has left droppings behind.  The major causes for
  5434.    this problem are programs that write to the screen memory
  5435.    corresponding to the mouse pointer's current location without
  5436.    hiding the mouse pointer first, and mouse drivers that do not quite
  5437.    support the graphics mode in use.
  5438.  
  5439. :mouse elbow: n. A tennis-elbow-like fatigue syndrome resulting from
  5440.    excessive use of a {WIMP environment}.  Similarly, `mouse
  5441.    shoulder'; GLS reports that he used to get this a lot before he
  5442.    taught himself to be ambimoustrous.
  5443.  
  5444. :mouso: /mow'soh/ n. [by analogy with `typo'] An error in mouse usage
  5445.    resulting in an inappropriate selection or graphic garbage on the
  5446.    screen.  Compare {thinko}, {braino}.
  5447.  
  5448. :MS-DOS:: /M-S-dos/ [MicroSoft Disk Operating System] n. A
  5449.    {clone} of {{CP/M}} for the 8088 crufted together in 6 weeks by
  5450.    hacker Tim Paterson, who is said to have regretted it ever since.
  5451.    Numerous features, including vaguely UNIX-like but rather broken
  5452.    support for subdirectories, I/O redirection, and pipelines, were
  5453.    hacked into 2.0 and subsequent versions; as a result, there are two
  5454.    or more incompatible versions of many system calls, and MS-DOS
  5455.    programmers can never agree on basic things like what character to
  5456.    use as an option switch or whether to be case-sensitive.  The
  5457.    resulting mess is now the highest-unit-volume OS in history.  Often
  5458.    known simply as DOS, which annoys people familiar with other
  5459.    similarly abbreviated operating systems (the name goes back to the
  5460.    mid-1960s, when it was attached to IBM's first disk operating
  5461.    system for the 360).  The name further annoys those who know what
  5462.    the term {operating system} does (or ought to) connote; DOS is
  5463.    more properly a set of relatively simple interrupt services.  Some
  5464.    people like to pronounce DOS like "dose", as in "I don't work on
  5465.    dose, man!", or to compare it to a dose of brain-damaging drugs
  5466.    (a slogan button in wide circulation among hackers exhorts:
  5467.    "MS-DOS: Just say No!").  See {mess-dos}, {ill-behaved}.
  5468.  
  5469. :mu: /moo/ The correct answer to the classic trick question
  5470.    "Have you stopped beating your wife yet?".  Assuming that you
  5471.    have no wife or you have never beaten your wife, the answer "yes"
  5472.    is wrong because it implies that you used to beat your wife and
  5473.    then stopped, but "no" is worse because it suggests that you have
  5474.    one and are still beating her.  According to various Discordians
  5475.    and Douglas Hofstadter (see the Bibliography in {Appendix C}),
  5476.    the correct answer is usually "mu", a Japanese word alleged to
  5477.    mean "Your question cannot be answered because it depends on
  5478.    incorrect assumptions".  Hackers tend to be sensitive to logical
  5479.    inadequacies in language, and many have adopted this suggestion
  5480.    with enthusiasm.  The word `mu' is actually from Chinese, meaning
  5481.    `nothing'; it is used in mainstream Japanese in that sense, but
  5482.    native speakers do not recognize the Discordian question-denying
  5483.    use.  It almost certainly derives from overgeneralization of the
  5484.    answer in the following well-known Rinzei Zen teaching riddle:
  5485.  
  5486.      A monk asked Joshu, "Does a dog have the Buddha nature?"
  5487.      Joshu retorted, "Mu!"
  5488.  
  5489.    See also {has the X nature}, {AI Koans}, and Douglas
  5490.    Hofstadter's `G"odel, Escher, Bach: An Eternal Golden Braid'
  5491.    (pointer in the Bibliography in appendix C).
  5492.  
  5493. :MUD: /muhd/ [acronym, Multi-User Dungeon; alt. Multi-User
  5494.    Dimension] 1. n.  A class of {virtual reality} experiments
  5495.    accessible via the Internet.  These are real-time chat forums with
  5496.    structure; they have multiple `locations' like an adventure
  5497.    game, and may include combat, traps, puzzles, magic, a simple
  5498.    economic system, and the capability for characters to build more
  5499.    structure onto the database that represents the existing world.
  5500.    2. vi. To play a MUD.  The acronym MUD is often lowercased and/or
  5501.    verbed; thus, one may speak of `going mudding', etc.
  5502.  
  5503.    Historically, MUDs (and their more recent progeny with names of MU-
  5504.    form) derive from a hack by Richard Bartle and Roy Trubshaw on the
  5505.    University of Essex's DEC-10 in the early 1980s; descendants of
  5506.    that game still exist today and are sometimes generically called
  5507.    BartleMUDs.  There is a widespread myth (repeated,
  5508.    unfortunately, by earlier versions of this lexicon) that the name
  5509.    MUD was trademarked to the commercial MUD run by Bartle on British
  5510.    Telecom (the motto: "You haven't *lived* 'til you've
  5511.    *died* on MUD!"); however, this is false --- Richard Bartle
  5512.    explicitly placed `MUD' in PD in 1985.  BT was upset at this, as
  5513.    they had already printed trademark claims on some maps and posters,
  5514.    which were released and created the myth.
  5515.  
  5516.    Students on the European academic networks quickly improved on the
  5517.    MUD concept, spawning several new MUDs (VAXMUD, AberMUD, LPMUD).
  5518.    Many of these had associated bulletin-board systems for social
  5519.    interaction.  Because these had an image as `research' they
  5520.    often survived administrative hostility to BBSs in general.  This,
  5521.    together with the fact that USENET feeds have been spotty and
  5522.    difficult to get in the U.K., made the MUDs major foci of hackish
  5523.    social interaction there.
  5524.  
  5525.    AberMUD and other variants crossed the Atlantic around 1988 and
  5526.    quickly gained popularity in the U.S.; they became nuclei for large
  5527.    hacker communities with only loose ties to traditional hackerdom
  5528.    (some observers see parallels with the growth of USENET in the
  5529.    early 1980s).  The second wave of MUDs (TinyMUD and variants)
  5530.    tended to emphasize social interaction, puzzles, and cooperative
  5531.    world-building as opposed to combat and competition.  In 1991, over
  5532.    50% of MUD sites are of a third major variety, LPMUD, which
  5533.    synthesizes the combat/puzzle aspects of AberMUD and older systems
  5534.    with the extensibility of TinyMud. The trend toward greater
  5535.    programmability and flexibility will doubtless continue.
  5536.  
  5537.    The state of the art in MUD design is still moving very rapidly,
  5538.    with new simulation designs appearing (seemingly) every month.
  5539.    There is now (early 1991) a move afoot to deprecate the term
  5540.    {MUD} itself, as newer designs exhibit an exploding variety of
  5541.    names corresponding to the different simulation styles being
  5542.    explored.  See also {bonk/oif}, {FOD}, {link-dead},
  5543.    {mudhead}, {talk mode}.
  5544.  
  5545. :muddie: n. Syn. {mudhead}.  More common in Great Britain, possibly
  5546.    because system administrators there like to mutter "bloody
  5547.    muddies" when annoyed at the species.
  5548.  
  5549. :mudhead: n. Commonly used to refer to a {MUD} player who eats,
  5550.    sleeps, and breathes MUD.  Mudheads have been known to fail their
  5551.    degrees, drop out, etc., with the consolation, however, that they
  5552.    made wizard level.  When encountered in person, on a MUD, or in a
  5553.    chat system, all a mudhead will talk about is three topics: the
  5554.    tactic, character, or wizard that is supposedly always unfairly
  5555.    stopping him/her from becoming a wizard or beating a favorite MUD;
  5556.    why the specific game he/she has experience with is so much better
  5557.    than any other, and the MUD he or she is writing or going to write
  5558.    because his/her design ideas are so much better than in any
  5559.    existing MUD.  See also {wannabee}.
  5560.  
  5561. :multician: /muhl-ti'shn/ [coined at Honeywell, ca. 1970] n.
  5562.    Competent user of {{Multics}}.  Perhaps oddly, no one has ever
  5563.    promoted the analogous `Unician'.
  5564.  
  5565. :Multics:: /muhl'tiks/ n. [from "MULTiplexed Information and
  5566.    Computing Service"] An early (late 1960s) timesharing operating
  5567.    system co-designed by a consortium including MIT, GE, and Bell
  5568.    Laboratories.  Very innovative for its time --- among other things,
  5569.    it introduced the idea of treating all devices uniformly as special
  5570.    files.  All the members but GE eventually pulled out after
  5571.    determining that {second-system effect} had bloated Multics to
  5572.    the point of practical unusability (the `lean' predecessor in
  5573.    question was {CTSS}).  Honeywell commercialized Multics after
  5574.    buying out GE's computer group, but it was never very successful
  5575.    (among other things, on some versions one was commonly required to
  5576.    enter a password to log out).  One of the developers left in the
  5577.    lurch by the project's breakup was Ken Thompson, a circumstance
  5578.    which led directly to the birth of {{UNIX}}.  For this and other
  5579.    reasons, aspects of the Multics design remain a topic of occasional
  5580.    debate among hackers.  See also {brain-damaged} and {GCOS}.
  5581.  
  5582. :multitask: n. Often used of humans in the same meaning it has for
  5583.    computers, to describe a person doing several things at once (but
  5584.    see {thrash}).  The term `multiplex', from communications
  5585.    technology (meaning to handle more than one channel at the same
  5586.    time), is used similarly.
  5587.  
  5588. :mumblage: /muhm'bl*j/ n. The topic of one's mumbling (see
  5589.    {mumble}).  "All that mumblage" is used like "all that
  5590.    stuff" when it is not quite clear how the subject of discussion
  5591.    works, or like "all that crap" when `mumble' is being used as
  5592.    an implicit replacement for pejoratives.
  5593.  
  5594. :mumble: interj. 1. Said when the correct response is too
  5595.    complicated to enunciate, or the speaker has not thought it out.
  5596.    Often prefaces a longer answer, or indicates a general reluctance
  5597.    to get into a long discussion.  "Don't you think that we could
  5598.    improve LISP performance by using a hybrid reference-count
  5599.    transaction garbage collector, if the cache is big enough and there
  5600.    are some extra cache bits for the microcode to use?"  "Well,
  5601.    mumble ... I'll have to think about it."  2. Sometimes used as
  5602.    an expression of disagreement.  "I think we should buy a
  5603.    {VAX}."  "Mumble!"  Common variant: `mumble frotz' (see
  5604.    {frotz}; interestingly, one does not say `mumble frobnitz'
  5605.    even though `frotz' is short for `frobnitz').  3. Yet another
  5606.    {metasyntactic variable}, like {foo}.  4. When used as a question
  5607.    ("Mumble?") means "I didn't understand you".  5. Sometimes used
  5608.    in `public' contexts on-line as a placefiller for things one is
  5609.    barred from giving details about.  For example, a poster with
  5610.    pre-released hardware in his machine might say "Yup, my machine
  5611.    now has an extra 16M of memory, thanks to the card I'm testing for
  5612.    Mumbleco." 6. A conversational wild card used to designate
  5613.    something one doesn't want to bother spelling out, but which can be
  5614.    {glark}ed from context.  Compare {blurgle}.  7. [XEROX PARC]
  5615.    A colloquialism used to suggest that further discussion would be
  5616.    fruitless.
  5617.  
  5618. :munch: [often confused with {mung}, q.v.] vt. To transform
  5619.    information in a serial fashion, often requiring large amounts of
  5620.    computation.  To trace down a data structure.  Related to {crunch}
  5621.    and nearly synonymous with {grovel}, but connotes less pain.
  5622.  
  5623. :munching: n. Exploration of security holes of someone else's
  5624.    computer for thrills, notoriety, or to annoy the system manager.
  5625.    Compare {cracker}.  See also {hacked off}.
  5626.  
  5627. :munching squares: n. A {display hack} dating back to the PDP-1
  5628.    (ca. 1962, reportedly discovered by Jackson Wright), which employs
  5629.    a trivial computation (repeatedly plotting the graph Y = X XOR T
  5630.    for successive values of T --- see {HAKMEM} items 146--148) to
  5631.    produce an impressive display of moving and growing squares that
  5632.    devour the screen.  The initial value of T is treated as a
  5633.    parameter, which, when well-chosen, can produce amazing effects.
  5634.    Some of these, later (re)discovered on the LISP machine, have been
  5635.    christened `munching triangles' (try AND for XOR and toggling
  5636.    points instead of plotting them), `munching w's', and `munching
  5637.    mazes'.  More generally, suppose a graphics program produces an
  5638.    impressive and ever-changing display of some basic form, foo, on a
  5639.    display terminal, and does it using a relatively simple program;
  5640.    then the program (or the resulting display) is likely to be
  5641.    referred to as `munching foos'.  [This is a good example of the
  5642.    use of the word {foo} as a {metasyntactic variable}.]
  5643.  
  5644. :munchkin: /muhnch'kin/ [from the squeaky-voiced little people in
  5645.    L. Frank Baum's `The Wizard of Oz'] n. A teenage-or-younger micro
  5646.    enthusiast hacking BASIC or something else equally constricted.  A
  5647.    term of mild derision --- munchkins are annoying but some grow up
  5648.    to be hackers after passing through a {larval stage}.  The term
  5649.    {urchin} is also used.  See also {wannabee}, {bitty box}.
  5650.  
  5651. :mundane: [from SF fandom] n. 1. A person who is not in science
  5652.    fiction fandom.  2. A person who is not in the computer industry.
  5653.    In this sense, most often an adjectival modifier as in "in my
  5654.    mundane life...." See also {Real World}.
  5655.  
  5656. :mung: /muhng/ [in 1960 at MIT, `Mash Until No Good'; sometime
  5657.    after that the derivation from the {{recursive acronym}} `Mung
  5658.    Until No Good' became standard] vt.  1. To make changes to a file,
  5659.    esp. large-scale and irrevocable changes.  See {BLT}.  2. To
  5660.    destroy, usually accidentally, occasionally maliciously.  The
  5661.    system only mungs things maliciously; this is a consequence of
  5662.    {Finagle's Law}.  See {scribble}, {mangle}, {trash},
  5663.    {nuke}.  Reports from {USENET} suggest that the pronunciation
  5664.    /muhnj/ is now usual in speech, but the spelling `mung' is
  5665.    still common in program comments (compare the widespread confusion
  5666.    over the proper spelling of {kluge}).  3. The kind of beans of
  5667.    which the sprouts are used in Chinese food.  (That's their real
  5668.    name!  Mung beans!  Really!)
  5669.  
  5670.    Like many early hacker terms, this one seems to have originated at
  5671.    {TMRC}; it was already in use there in 1958.  Peter Samson
  5672.    (compiler of the original TMRC lexicon) thinks it may originally
  5673.    have been onomatopoeic for the sound of a relay spring (contact)
  5674.    being twanged.
  5675.  
  5676. :munge: /muhnj/ vt. 1. [derogatory] To imperfectly transform
  5677.    information.  2. A comprehensive rewrite of a routine, data
  5678.    structure or the whole program.
  5679.  
  5680.    This term is often confused with {mung} and may derive from it,
  5681.    or possibly vice-versa.
  5682.  
  5683. :Murphy's Law: prov. The correct, *original* Murphy's Law
  5684.    reads: "If there are two or more ways to do something, and one of
  5685.    those ways can result in a catastrophe, then someone will do it."
  5686.    This is a principle of defensive design, cited here because it is
  5687.    usually given in mutant forms less descriptive of the challenges of
  5688.    design for lusers.  For example, you don't make a two-pin plug
  5689.    symmetrical and then label it `THIS WAY UP'; if it matters which
  5690.    way it is plugged in, then you make the design asymmetrical (see
  5691.    also the anecdote under {magic smoke}).
  5692.  
  5693.    Edward A. Murphy, Jr. was one of the engineers on the rocket-sled
  5694.    experiments that were done by the U.S. Air Force in 1949 to test
  5695.    human acceleration tolerances (USAF project MX981).  One experiment
  5696.    involved a set of 16 accelerometers mounted to different parts of
  5697.    the subject's body.  There were two ways each sensor could be glued
  5698.    to its mount, and somebody methodically installed all 16 the wrong
  5699.    way around.  Murphy then made the original form of his
  5700.    pronouncement, which the test subject (Major John Paul Stapp)
  5701.    quoted at a news conference a few days later.
  5702.  
  5703.    Within months `Murphy's Law' had spread to various technical
  5704.    cultures connected to aerospace engineering.  Before too many years
  5705.    had gone by variants had passed into the popular imagination,
  5706.    changing as they went.  Most of these are variants on "Anything
  5707.    that can go wrong, will"; this is sometimes referred to as
  5708.    {Finagle's Law}.  The memetic drift apparent in these mutants
  5709.    clearly demonstrates Murphy's Law acting on itself!
  5710.  
  5711. :music:: n. A common extracurricular interest of hackers (compare
  5712.    {{science-fiction fandom}}, {{oriental food}}; see also
  5713.    {filk}).  Hackish folklore has long claimed that musical and
  5714.    programming abilities are closely related, and there has been at
  5715.    least one large-scale statistical study that supports this.
  5716.    Hackers, as a rule, like music and often develop musical
  5717.    appreciation in unusual and interesting directions.  Folk music is
  5718.    very big in hacker circles; so is electronic music, and the sort of
  5719.    elaborate instrumental jazz/rock that used to be called
  5720.    `progressive' and isn't recorded much any more.  The hacker's
  5721.    musical range tends to be wide; many can listen with equal
  5722.    appreciation to (say) Talking Heads, Yes, Gentle Giant, Pat Metheny,
  5723.    Scott Joplin, Tangerine Dream, King Sunny Ade, The Pretenders, or
  5724.    the Brandenburg Concerti.  It is also apparently true that
  5725.    hackerdom includes a much higher concentration of talented amateur
  5726.    musicians than one would expect from a similar-sized control group
  5727.    of {mundane} types.
  5728.  
  5729. :mutter: vt. To quietly enter a command not meant for the ears, eyes,
  5730.    or fingers of ordinary mortals.  Often used in `mutter an
  5731.    {incantation}'.  See also {wizard}.
  5732.  
  5733. = N =
  5734. =====
  5735.  
  5736. :N: /N/ quant. 1. A large and indeterminate number of objects:
  5737.    "There were N bugs in that crock!"  Also used in its
  5738.    original sense of a variable name: "This crock has N bugs,
  5739.    as N goes to infinity."  (The true number of bugs is always
  5740.    at least N + 1.)  2. A variable whose value is inherited
  5741.    from the current context.  For example, when a meal is being
  5742.    ordered at a restaurant, N may be understood to mean however
  5743.    many people there are at the table.  From the remark "We'd like to
  5744.    order N wonton soups and a family dinner
  5745.    for N - 1" you can deduce that one person at the table
  5746.    wants to eat only soup, even though you don't know how many people
  5747.    there are (see {great-wall}).  3. `Nth': adj. The
  5748.    ordinal counterpart of N, senses 1 and 2.  "Now for the
  5749.    Nth and last time..."  In the specific context
  5750.    "Nth-year grad student", N is generally assumed to
  5751.    be at least 4, and is usually 5 or more (see {tenured graduate
  5752.    student}).  See also {{random numbers}}, {two-to-the-N}.
  5753.  
  5754. :nadger: /nad'jr/ [Great Britain] v. Of software or hardware (not
  5755.    people), to twiddle some object in a hidden manner, generally so
  5756.    that it conforms better to some format.  For instance, string
  5757.    printing routines on 8-bit processors often take the string text
  5758.    from the instruction stream, thus a print call looks like `jsr
  5759.    print:"Hello world"'. The print routine has to `nadger' the
  5760.    return instruction pointer so that the processor doesn't try to
  5761.    execute the text as instructions.
  5762.  
  5763. :nagware: /nag'weir/ [USENET] n. The variety of {shareware}
  5764.    that displays a large screen at the beginning or end reminding you
  5765.    to register, typically requiring some sort of keystroke to continue
  5766.    so that you can't use the software in batch mode.  Compare
  5767.    {crippleware}.
  5768.  
  5769. :nailed to the wall: [like a trophy] adj. Said of a bug finally
  5770.    eliminated after protracted, and even heroic, effort.
  5771.  
  5772. :nailing jelly: vi. See {like nailing jelly to a tree}.
  5773.  
  5774. :naive: adj. Untutored in the perversities of some particular
  5775.    program or system; one who still tries to do things in an intuitive
  5776.    way, rather than the right way (in really good designs these
  5777.    coincide, but most designs aren't `really good' in the
  5778.    appropriate sense).  This trait is completely unrelated to general
  5779.    maturity or competence, or even competence at any other specific
  5780.    program.  It is a sad commentary on the primitive state of
  5781.    computing that the natural opposite of this term is often claimed
  5782.    to be `experienced user' but is really more like `cynical
  5783.    user'.
  5784.  
  5785. :naive user: n. A {luser}.  Tends to imply someone who is
  5786.    ignorant mainly owing to inexperience.  When this is applied to
  5787.    someone who *has* experience, there is a definite implication
  5788.    of stupidity.
  5789.  
  5790. :NAK: /nak/ [from the ASCII mnemonic for 0010101] interj.
  5791.    1. On-line joke answer to {ACK}?: "I'm not here."
  5792.    2. On-line answer to a request for chat: "I'm not available."
  5793.    3. Used to politely interrupt someone to tell them you don't
  5794.    understand their point or that they have suddenly stopped making
  5795.    sense.  See {ACK}, sense 3.  "And then, after we recode the
  5796.    project in COBOL...."  "Nak, Nak, Nak!  I thought I heard you
  5797.    say COBOL!"
  5798.  
  5799. :nano: /nan'oh/ [CMU: from `nanosecond'] n. A brief period of
  5800.    time.  "Be with you in a nano" means you really will be free
  5801.    shortly, i.e., implies what mainstream people mean by "in a
  5802.    jiffy" (whereas the hackish use of `jiffy' is quite different ---
  5803.    see {jiffy}).
  5804.  
  5805. :nano-: [SI: the next quantifier below {micro-}; meaning *
  5806.    10^(-9)] pref. Smaller than {micro-}, and used in the same rather
  5807.    loose and connotative way.  Thus, one has {{nanotechnology}}
  5808.    (coined by hacker K. Eric Drexler) by analogy with
  5809.    `microtechnology'; and a few machine architectures have a
  5810.    `nanocode' level below `microcode'.  Tom Duff at Bell Labs has
  5811.    also pointed out that "Pi seconds is a nanocentury".
  5812.    See also {{quantifiers}}, {pico-}, {nanoacre}, {nanobot},
  5813.    {nanocomputer}, {nanofortnight}.
  5814.  
  5815. :nanoacre: /nan'oh-ay`kr/ n. A unit (about 2 mm square) of real
  5816.    estate on a VLSI chip.  The term gets its giggle value from the
  5817.    fact that VLSI nanoacres have costs in the same range as real acres
  5818.    once one figures in design and fabrication-setup costs.
  5819.  
  5820. :nanobot: /nan'oh-bot/ n. A robot of microscopic proportions,
  5821.    presumably built by means of {{nanotechnology}}.  As yet, only
  5822.    used informally (and speculatively!).  Also called a `nanoagent'.
  5823.  
  5824. :nanocomputer: /nan'oh-k*m-pyoo'tr/ n. A computer with
  5825.    mo-lec-u-lar-sized switching elements.  Designs for mechanical
  5826.    nanocomputers which use single-molecule sliding rods for their
  5827.    logic have been proposed.  The controller for a {nanobot} would
  5828.    be a nanocomputer.
  5829.  
  5830. :nanofortnight: [Adelaide University] n. 1 fortnight * 10^-9,
  5831.    or about 1.2 msec.  This unit was used largely by students doing
  5832.    undergraduate practicals.  See {microfortnight}, {attoparsec},
  5833.    and {micro-}.
  5834.  
  5835. :nanotechnology:: /nan'-oh-tek-no`l*-jee/ n. A hypothetical
  5836.    fabrication technology in which objects are designed and built with
  5837.    the individual specification and placement of each separate atom.
  5838.    The first unequivocal nanofabrication experiments took place
  5839.    in 1990, for example with the deposition of individual xenon
  5840.    atoms on a nickel substrate to spell the logo of a certain very
  5841.    large computer company.  Nanotechnology has been a hot topic in the
  5842.    hacker subculture ever since the term was coined by K. Eric Drexler
  5843.    in his book `Engines of Creation', where he predicted that
  5844.    nanotechnology could give rise to replicating assemblers,
  5845.    permitting an exponential growth of productivity and personal
  5846.    wealth.  See also {blue goo}, {gray goo}, {nanobot}.
  5847.  
  5848. :nasal demons: n. Recognized shorthand on the USENET group
  5849.    comp.std.c for any unexpected behavior of a C compiler on
  5850.    encountering an undefined construct.  During a discussion on that
  5851.    group in early 1992, a regular remarked "When the compiler
  5852.    encounters [a given undefined construct] it is legal for it to make
  5853.    demons fly out of your nose" (the implication is that it may
  5854.    choose any arbitrarily bizarre way to interpret the code without
  5855.    violating the ANSI C standard).  Someone else followed up with a
  5856.    reference to "nasal demons", which quickly became established.
  5857.  
  5858. :nastygram: /nas'tee-gram/ n. 1. A protocol packet or item of
  5859.    email (the latter is also called a {letterbomb}) that takes
  5860.    advantage of misfeatures or security holes on the target system to
  5861.    do untoward things.  2. Disapproving mail, esp. from a
  5862.    {net.god}, pursuant to a violation of {netiquette} or a
  5863.    complaint about failure to correct some mail- or news-transmission
  5864.    problem.  Compare {shitogram}.  3. A status report from an
  5865.    unhappy, and probably picky, customer.  "What'd Corporate say in
  5866.    today's nastygram?"  4. [deprecated] An error reply by mail from a
  5867.    {daemon}; in particular, a {bounce message}.
  5868.  
  5869. :Nathan Hale: n. An asterisk (see also {splat}, {{ASCII}}).  Oh,
  5870.    you want an etymology?  Notionally, from "I regret that I have only
  5871.    one asterisk for my country!", a misquote of the famous remark
  5872.    uttered by Nathan Hale just before he was hanged.  Hale was a
  5873.    (failed) spy for the rebels in the American War of Independence.
  5874.  
  5875. :nature: n. See {has the X nature}.
  5876.  
  5877. :neat hack: n. 1. A clever technique.  2. A brilliant practical
  5878.    joke, where neatness is correlated with cleverness, harmlessness,
  5879.    and surprise value.  Example: the Caltech Rose Bowl card display
  5880.    switch (see "{The Meaning of `Hack'}", appendix A).  See
  5881.    also {hack}.
  5882.  
  5883. :neats vs. scruffies: n. The label used to refer to one of the
  5884.    continuing {holy wars} in AI research.  This conflict tangles
  5885.    together two separate issues.  One is the relationship between
  5886.    human reasoning and AI; `neats' tend to try to build systems
  5887.    that `reason' in some way identifiably similar to the way humans
  5888.    report themselves as doing, while `scruffies' profess not to
  5889.    care whether an algorithm resembles human reasoning in the least as
  5890.    long as it works.  More importantly, neats tend to believe that
  5891.    logic is king, while scruffies favor looser, more ad-hoc methods
  5892.    driven by empirical knowledge.  To a neat, scruffy methods appear
  5893.    promiscuous and successful only by accident; to a scruffy, neat
  5894.    methods appear to be hung up on formalism and irrelevant to the
  5895.    hard-to-capture `common sense' of living intelligences.
  5896.  
  5897. :neep-neep: /neep neep/ [onomatopoeic, from New York SF fandom]
  5898.    n.  One who is fascinated by computers.  More general than
  5899.    {hacker}, as it need not imply more skill than is required to
  5900.    boot games on a PC.  The derived noun `neeping' oapplies
  5901.    specifically to the long conversations about computers that tend to
  5902.    develop in the corners at most SF-convention parties (the term
  5903.    `neepery' is also in wide use).  Fandom has a related proverb to
  5904.    the effect that "Hacking is a conversational black hole!".
  5905.  
  5906. :neophilia: /nee`oh-fil'-ee-*/ n. The trait of being excited and
  5907.    pleased by novelty.  Common trait of most hackers, SF fans, and
  5908.    members of several other connected leading-edge subcultures,
  5909.    including the pro-technology `Whole Earth' wing of the ecology
  5910.    movement, space activists, many members of Mensa, and the
  5911.    Discordian/neo-pagan underground.  All these groups overlap heavily
  5912.    and (where evidence is available) seem to share characteristic
  5913.    hacker tropisms for science fiction, {{music}}, and {{oriental
  5914.    food}}.  The opposite tendency is `neophobia'.
  5915.  
  5916. :net.-: /net dot/ pref. [USENET] Prefix used to describe people and
  5917.    events related to USENET.  From the time before the {Great
  5918.    Renaming}, when most non-local newsgroups had names beginning
  5919.    `net.'.  Includes {net.god}s, `net.goddesses' (various
  5920.    charismatic net.women with circles of on-line admirers),
  5921.    `net.lurkers' (see {lurker}), `net.person',
  5922.    `net.parties' (a synonym for {boink}, sense 2), and
  5923.    many similar constructs.  See also {net.police}.
  5924.  
  5925. :net.god: /net god/ n. Used to refer to anyone who satisfies some
  5926.    combination of the following conditions: has been visible on USENET
  5927.    for more than 5 years, ran one of the original backbone sites,
  5928.    moderated an important newsgroup, wrote news software, or knows
  5929.    Gene, Mark, Rick, Mel, Henry, Chuq, and Greg personally.  See
  5930.    {demigod}.  Net.goddesses such as Rissa or the Slime Sisters have
  5931.    (so far) been distinguished more by personality than by authority.
  5932.  
  5933. :net.personality: /net per`sn-al'-*-tee/ n. Someone who has made a name
  5934.    for him or herself on {USENET}, through either longevity or
  5935.    attention-getting posts, but doesn't meet the other requirements of
  5936.    {net.god}hood.
  5937.  
  5938. :net.police: /net-p*-lees'/ n. (var. `net.cops') Those USENET
  5939.    readers who feel it is their responsibility to pounce on and
  5940.    {flame} any posting which they regard as offensive or in
  5941.    violation of their understanding of {netiquette}.  Generally
  5942.    used sarcastically or pejoratively.  Also spelled `net police'.
  5943.    See also {net.-}, {code police}.
  5944.  
  5945. :NetBOLLIX: [from bollix: to bungle] n. {IBM}'s NetBIOS, an
  5946.    extremely {brain-damaged} network protocol that, like {Blue
  5947.    Glue}, is used at commercial shops that don't know any better.
  5948.  
  5949. :netburp: [IRC] n. When {netlag} gets really bad, and delays
  5950.    between servers exceed a certain threshhold, the {IRC} network
  5951.    effectively becomes partitioned for a period of time, and large
  5952.    numbers of people seem to be signing off at the same time and then
  5953.    signing back on again when things get better.  An instance of this
  5954.    is called a `netburp' (or, sometimes, {netsplit}).
  5955.    
  5956. :netdead: [IRC] n. The state of someone who signs off {IRC},
  5957.    perhaps during a {netburp}, and doesn't sign back on until
  5958.    later.  In the interim, he is "dead to the net".
  5959.  
  5960. :nethack: /net'hak/ [UNIX] n. A dungeon game similar to
  5961.    {rogue} but more elaborate, distributed in C source over
  5962.    {USENET} and very popular at UNIX sites and on PC-class machines
  5963.    (nethack is probably the most widely distributed of the freeware
  5964.    dungeon games).  The earliest versions, written by Jay Fenlason and
  5965.    later considerably enhanced by Andries Brouwer, were simply called
  5966.    `hack'.  The name changed when maintenance was taken over by a
  5967.    group of hackers originally organized by Mike Stephenson; the
  5968.    current contact address (as of mid-1993) is
  5969.    nethack-bugs@linc.cis.upenn.edu.
  5970.  
  5971. :netiquette: /net'ee-ket/ or /net'i-ket/ [portmanteau from "network
  5972.    etiquette"] n. The conventions of politeness recognized on {USENET},
  5973.    such as avoidance of cross-posting to inappropriate groups or
  5974.    refraining from commercial pluggery outside the biz groups.
  5975.  
  5976. :netlag: [IRC, MUD] n. A condition that occurs when the delays in
  5977.    the {IRC} network or on a {MUD} become severe enough that
  5978.    servers briefly lose and then reestablish contact, causing messages
  5979.    to be delivered in bursts, often with delays of up to a minute.
  5980.    (Note that this term has nothing to do with mainstream "jet lag",
  5981.    a condition which hackers tend not to be much bothered by.)
  5982.    
  5983. :netnews: /net'n[y]ooz/ n. 1. The software that makes {USENET}
  5984.    run.  2. The content of USENET.  "I read netnews right after my
  5985.    mail most mornings."
  5986.  
  5987. :netrock: /net'rok/ [IBM] n. A {flame}; used esp. on VNET,
  5988.    IBM's internal corporate network.
  5989.  
  5990. :netsplit: n. Syn. {netburp}.
  5991.  
  5992. :netter: n. 1. Loosely, anyone with a {network address}.  2. More
  5993.    specifically, a {USENET} regular.  Most often found in the
  5994.    plural.  "If you post *that* in a technical group, you're
  5995.    going to be flamed by angry netters for the rest of time!"
  5996.  
  5997. :network address: n. (also `net address') As used by hackers,
  5998.    means an address on `the' network (see {network, the}; this is
  5999.    almost always a {bang path} or {{Internet address}}).  Such an
  6000.    address is essential if one wants to be to be taken seriously by
  6001.    hackers; in particular, persons or organizations that claim to
  6002.    understand, work with, sell to, or recruit from among hackers but
  6003.    *don't* display net addresses are quietly presumed to be
  6004.    clueless poseurs and mentally flushed (see {flush}, sense 4).
  6005.    Hackers often put their net addresses on their business cards and
  6006.    wear them prominently in contexts where they expect to meet other
  6007.    hackers face-to-face (see also {{science-fiction fandom}}).  This
  6008.    is mostly functional, but is also a signal that one identifies with
  6009.    hackerdom (like lodge pins among Masons or tie-dyed T-shirts among
  6010.    Grateful Dead fans).  Net addresses are often used in email text as
  6011.    a more concise substitute for personal names; indeed, hackers may
  6012.    come to know each other quite well by network names without ever
  6013.    learning each others' `legal' monikers.  See also {sitename},
  6014.    {domainist}.
  6015.  
  6016. :network meltdown: n. A state of complete network overload; the
  6017.    network equivalent of {thrash}ing.  This may be induced by a
  6018.    {Chernobyl packet}.  See also {broadcast storm}, {kamikaze
  6019.    packet}.
  6020.  
  6021. :network, the: n. 1. The union of all the major noncommercial,
  6022.    academic, and hacker-oriented networks, such as Internet, the old
  6023.    ARPANET, NSFnet, {BITNET}, and the virtual UUCP and {USENET}
  6024.    `networks', plus the corporate in-house networks and commercial
  6025.    time-sharing services (such as CompuServe) that gateway to them.  A
  6026.    site is generally considered `on the network' if it can be reached
  6027.    through some combination of Internet-style (@-sign) and UUCP
  6028.    (bang-path) addresses.  See {bang path}, {{Internet address}},
  6029.    {network address}.  2. A fictional conspiracy of libertarian
  6030.    hacker-subversives and anti-authoritarian monkeywrenchers described
  6031.    in Robert Anton Wilson's novel `Schr"odinger's Cat', to which
  6032.    many hackers have subsequently decided they belong (this is an
  6033.    example of {ha ha only serious}).
  6034.  
  6035.    In sense 1, `network' is often abbreviated to `net'.  "Are
  6036.    you on the net?" is a frequent question when hackers first meet
  6037.    face to face, and "See you on the net!" is a frequent goodbye.
  6038.  
  6039. :New Jersey: [primarily Stanford/Silicon Valley] adj. Brain-dam-aged
  6040.    or of poor design.  This refers to the allegedly wretched quality
  6041.    of such software as C, C++, and UNIX (which originated at Bell Labs
  6042.    in Murray Hill, New Jersey).  "This compiler bites the bag, but
  6043.    what can you expect from a compiler designed in New Jersey?"
  6044.    Compare {Berkeley Quality Software}.  See also {UNIX
  6045.    conspiracy}.
  6046.  
  6047. :New Testament: n. [C programmers] The second edition of K&R's
  6048.    `The C Programming Language' (Prentice-Hall, 1988; ISBN
  6049.    0-13-110362-8), describing ANSI Standard C.  See {K&R}.
  6050.  
  6051. :newbie: /n[y]oo'bee/ n. [orig. from British public-school and
  6052.    military slang variant of `new boy'] A USENET neophyte.
  6053.    This term surfaced in the {newsgroup} talk.bizarre but is
  6054.    now in wide use.  Criteria for being considered a newbie vary
  6055.    wildly; a person can be called a newbie in one newsgroup while
  6056.    remaining a respected regular in another.  The label `newbie'
  6057.    is sometimes applied as a serious insult to a person who has been
  6058.    around USENET for a long time but who carefully hides all evidence
  6059.    of having a clue.  See {BIFF}.
  6060.  
  6061. :newgroup wars: /n[y]oo'groop worz/ [USENET] n. The salvos of dueling
  6062.    `newgroup' and `rmgroup' messages sometimes exchanged by
  6063.    persons on opposite sides of a dispute over whether a {newsgroup}
  6064.    should be created net-wide.  These usually settle out within a week
  6065.    or two as it becomes clear whether the group has a natural
  6066.    constituency (usually, it doesn't).  At times, especially in the
  6067.    completely anarchic alt hierarchy, the names of newsgroups
  6068.    themselves become a form of comment or humor; e.g., the spinoff of
  6069.    alt.swedish.chef.bork.bork.bork from alt.tv.muppets in
  6070.    early 1990, or any number of specialized abuse groups named after
  6071.    particularly notorious {flamer}s, e.g., alt.weemba.
  6072.  
  6073. :newline: /n[y]oo'li:n/ n. 1. [techspeak, primarily UNIX] The
  6074.    ASCII LF character (0001010), used under {{UNIX}} as a text line
  6075.    terminator.  A Bell-Labs-ism rather than a Berkeleyism;
  6076.    interestingly (and unusually for UNIX jargon), it is said to have
  6077.    originally been an IBM usage.  (Though the term `newline' appears
  6078.    in ASCII standards, it never caught on in the general computing
  6079.    world before UNIX).  2. More generally, any magic character,
  6080.    character sequence, or operation (like Pascal's writeln procedure)
  6081.    required to terminate a text record or separate lines.  See
  6082.    {crlf}, {terpri}.
  6083.  
  6084. :NeWS: /nee'wis/, /n[y]oo'is/ or /n[y]ooz/ [acronym; the
  6085.    `Network Window System'] n. The road not taken in window systems,
  6086.    an elegant {{PostScript}}-based environment that would almost certainly
  6087.    have won the standards war with {X} if it hadn't been
  6088.    {proprietary} to Sun Microsystems.  There is a lesson here that
  6089.    too many software vendors haven't yet heeded.  Many hackers insist
  6090.    on the two-syllable pronunciations above as a way of distinguishing
  6091.    NeWS from {news} (the {netnews} software).
  6092.  
  6093. :news: n. See {netnews}.
  6094.  
  6095. :newsfroup: // [USENET] n. Silly synonym for {newsgroup},
  6096.    originally a typo but now in regular use on USENET's talk.bizarre
  6097.    and other lunatic-fringe groups.  Compare {hing}, {grilf},
  6098.    and {filk}.
  6099.  
  6100. :newsgroup: [USENET] n. One of {USENET}'s huge collection of
  6101.    topic groups or {fora}.  Usenet groups can be `unmoderated'
  6102.    (anyone can post) or `moderated' (submissions are automatically
  6103.    directed to a moderator, who edits or filters and then posts the
  6104.    results).  Some newsgroups have parallel {mailing list}s for
  6105.    Internet people with no netnews access, with postings to the group
  6106.    automatically propagated to the list and vice versa.  Some
  6107.    moderated groups (especially those which are actually gatewayed
  6108.    Internet mailing lists) are distributed as `digests', with groups
  6109.    of postings periodically collected into a single large posting with
  6110.    an index.
  6111.  
  6112.    Among the best-known are comp.lang.c (the C-language forum),
  6113.    comp.arch (on computer architectures), comp.unix.wizards
  6114.    (for UNIX wizards), rec.arts.sf-lovers (for science-fiction
  6115.    fans), and talk.politics.misc (miscellaneous political
  6116.    discussions and {flamage}).
  6117.  
  6118. :nick: [IRC] n. Short for nickname.  On {IRC}, every user must
  6119.    pick a nick, which is sometimes the same as the user's real name or
  6120.    login name, but is often more fanciful.
  6121.    
  6122. :nickle: /ni'kl/ [from `nickel', common name for the U.S.
  6123.    5-cent coin] n. A {nybble} + 1; 5 bits.  Reported among
  6124.    developers for Mattel's GI 1600 (the Intellivision games
  6125.    processor), a chip with 16-bit-wide RAM but 10-bit-wide ROM.  See
  6126.    also {deckle}.
  6127.  
  6128. :night mode: n. See {phase} (of people).
  6129.  
  6130. :Nightmare File System: n. Pejorative hackerism for Sun's Network
  6131.    File System (NFS).  In any nontrivial network of Suns where there
  6132.    is a lot of NFS cross-mounting, when one Sun goes down, the others
  6133.    often freeze up.  Some machine tries to access the down one, and
  6134.    (getting no response) repeats indefinitely.  This causes it to
  6135.    appear dead to some messages (what is actually happening is that it
  6136.    is locked up in what should have been a brief excursion to a higher
  6137.    {spl} level).  Then another machine tries to reach either the
  6138.    down machine or the pseudo-down machine, and itself becomes
  6139.    pseudo-down.  The first machine to discover the down one is now
  6140.    trying both to access the down one and to respond to the
  6141.    pseudo-down one, so it is even harder to reach.  This situation
  6142.    snowballs very fast, and soon the entire network of machines is
  6143.    frozen --- worst of all, the user can't even abort the file access
  6144.    that started the problem!  Many of NFS's problems are excused by
  6145.    partisans as being an inevitable result of its statelessness, which
  6146.    is held to be a great feature (critics, of course, call it a great
  6147.    {misfeature}).  (ITS partisans are apt to cite this as proof of
  6148.    UNIX's alleged bogosity; ITS had a working NFS-like shared file
  6149.    system with none of these problems in the early 1970s.)  See also
  6150.    {broadcast storm}.
  6151.  
  6152. :NIL: /nil/ No.  Used in reply to a question, particularly one
  6153.    asked using the `-P' convention.  Most hackers assume this derives
  6154.    simply from LISP terminology for `false' (see also {T}), but
  6155.    NIL as a negative reply was well-established among radio hams
  6156.    decades before the advent of LISP.  The historical connection
  6157.    between early hackerdom and the ham radio world was strong enough
  6158.    that this may have been an influence.
  6159.  
  6160. :Ninety-Ninety Rule: n. "The first 90% of the code accounts
  6161.    for the first 90% of the development time.  The remaining 10% of
  6162.    the code accounts for the other 90% of the development time."
  6163.    Attributed to Tom Cargill of Bell Labs, and popularized by Jon
  6164.    Bentley's September 1985 `Bumper-Sticker Computer Science'
  6165.    column in `Communications of the ACM'.  It was there called
  6166.    the "Rule of Credibility", a name which seems not to have stuck.
  6167.  
  6168. :NMI: /N-M-I/ n. Non-Maskable Interrupt.  An IRQ 7 on the PDP-11
  6169.    or 680[01234]0; the NMI line on an 80[1234]86.  In contrast with a
  6170.    {priority interrupt} (which might be ignored, although that is
  6171.    unlikely), an NMI is *never* ignored.
  6172.  
  6173. :no-op: /noh'op/ alt. NOP /nop/ [no operation] n. 1. (also v.)
  6174.    A machine instruction that does nothing (sometimes used in
  6175.    assembler-level programming as filler for data or patch areas, or
  6176.    to overwrite code to be removed in binaries).  See also {JFCL}.
  6177.    2. A person who contributes nothing to a project, or has nothing
  6178.    going on upstairs, or both.  As in "He's a no-op." 3. Any
  6179.    operation or sequence of operations with no effect, such as
  6180.    circling the block without finding a parking space, or putting
  6181.    money into a vending machine and having it fall immediately into
  6182.    the coin-return box, or asking someone for help and being told to
  6183.    go away.  "Oh, well, that was a no-op."  Hot-and-sour soup (see
  6184.    {great-wall}) that is insufficiently either is `no-op soup';
  6185.    so is wonton soup if everybody else is having hot-and-sour.
  6186.  
  6187. :noddy: /nod'ee/ [UK: from the children's books] adj.
  6188.    1. Small and un-useful, but demonstrating a point.  Noddy programs
  6189.    are often written by people learning a new language or system.  The
  6190.    archetypal noddy program is {hello, world}.  Noddy code may be
  6191.    used to demonstrate a feature or bug of a compiler.  May be used of
  6192.    real hardware or software to imply that it isn't worth using.
  6193.    "This editor's a bit noddy."  2. A program that is more or less
  6194.    instant to produce.  In this use, the term does not necessarily
  6195.    connote uselessness, but describes a {hack} sufficiently trivial
  6196.    that it can be written and debugged while carrying on (and during
  6197.    the space of) a normal conversation.  "I'll just throw together a
  6198.    noddy {awk} script to dump all the first fields."  In North
  6199.    America this might be called a {mickey mouse program}.  See
  6200.    {toy program}.
  6201.  
  6202. :NOMEX underwear: /noh'meks uhn'-der-weir/ [USENET] n. Syn.
  6203.    {asbestos longjohns}, used mostly in auto-related mailing lists
  6204.    and newsgroups.  NOMEX underwear is an actual product available on
  6205.    the racing equipment market, used as a fire resistance measure and
  6206.    required in some racing series.
  6207.  
  6208. :Nominal Semidestructor: n. Sound-alike slang for `National
  6209.    Semiconductor', found among other places in the 4.3BSD networking
  6210.    sources.  During the late 1970s to mid-1980s this company marketed
  6211.    a series of microprocessors including the NS16000 and NS32000 and
  6212.    several variants.  At one point early in the great microprocessor
  6213.    race, the specs on these chips made them look like serious
  6214.    competition for the rising Intel 80x86 and Motorola 680x0 series.
  6215.    Unfortunately, the actual parts were notoriously flaky and never
  6216.    implemented the full instruction set promised in their literature,
  6217.    apparently because the company couldn't get any of the mask
  6218.    steppings to work as designed.  They eventually sank without trace,
  6219.    joining the Zilog Z80,000 and a few even more obscure also-rans in
  6220.    the graveyard of forgotten microprocessors.  Compare {HP-SUX},
  6221.    {AIDX}, {buglix}, {Macintrash}, {Telerat}, {Open
  6222.    DeathTrap}, {ScumOS}, {sun-stools}.
  6223.  
  6224. :non-optimal solution: n. (also `sub-optimal solution') An
  6225.    astoundingly stupid way to do something.  This term is generally
  6226.    used in deadpan sarcasm, as its impact is greatest when the person
  6227.    speaking looks completely serious.  Compare {stunning}.  See also
  6228.    {Bad Thing}.
  6229.  
  6230. :nonlinear: adj. [scientific computation] 1. Behaving in an erratic
  6231.    and unpredictable fashion; unstable.  When used to describe the
  6232.    behavior of a machine or program, it suggests that said machine or
  6233.    program is being forced to run far outside of design
  6234.    specifications.  This behavior may be induced by unreasonable
  6235.    inputs, or may be triggered when a more mundane bug sends the
  6236.    computation far off from its expected course.  2. When describing
  6237.    the behavior of a person, suggests a tantrum or a {flame}.
  6238.    "When you talk to Bob, don't mention the drug problem or he'll go
  6239.    nonlinear for hours."  In this context, `go nonlinear' connotes
  6240.    `blow up out of proportion' (proportion connotes linearity).
  6241.  
  6242. :nontrivial: adj. Requiring real thought or significant computing
  6243.    power.  Often used as an understated way of saying that a problem
  6244.    is quite difficult or impractical, or even entirely unsolvable
  6245.    ("Proving P=NP is nontrivial").  The preferred emphatic form is
  6246.    `decidedly nontrivial'.  See {trivial}, {uninteresting},
  6247.    {interesting}.
  6248.  
  6249. :not ready for prime time: adj.  Usable, but only just so; not very
  6250.    robust; for internal use only.  Said of a program or device.  Often
  6251.    connotes that the thing will be made more solid {Real Soon
  6252.    Now}.  This term comes from the ensemble name of the original cast
  6253.    of "Saturday Night Live", the "Not Ready for Prime Time
  6254.    Players".  It has extra flavor for hackers because of the special
  6255.    (though now semi-obsolescent) meaning of {prime time}.
  6256.  
  6257. :notwork: /not'werk/ n. A network, when it is acting {flaky} or is
  6258.    {down}.  Compare {nyetwork}.  Said at IBM to have orig.
  6259.    referred to a particular period of flakiness on IBM's VNET
  6260.    corporate network, ca. 1988; but there are independent reports of
  6261.    the term from elsewhere.
  6262.  
  6263. :NP-: /N-P/ pref. Extremely.  Used to modify adjectives
  6264.    describing a level or quality of difficulty; the connotation is
  6265.    often `more so than it should be' (NP-complete problems all seem
  6266.    to be very hard, but so far no one has found a good a priori
  6267.    reason that they should be.)  "Coding a BitBlt implementation to
  6268.    perform correctly in every case is NP-annoying."  This is
  6269.    generalized from the computer-science terms `NP-hard' and
  6270.    `NP-complete'.  NP is the set of Nondeterministic-Polynomial
  6271.    algorithms, those that can be completed by a nondeterministic
  6272.    Turing machine in an amount of time that is a polynomial function
  6273.    of the size of the input; a solution for one NP-complete problem
  6274.    would solve all the others.  Note, however, that the NP- prefix is,
  6275.    from a complexity theorist's point of view, the wrong part of
  6276.    `NP-complete' to connote extreme difficulty; it is the completeness,
  6277.    not the NP-ness, that puts any problem it describes in the
  6278.    `hard' category.
  6279.  
  6280. :nroff:: /en'rof/ [UNIX, from "new roff" (see {{troff}})] n. A
  6281.    companion program to the UNIX typesetter {{troff}}, accepting
  6282.    identical input but preparing output for terminals and line
  6283.    printers.
  6284.  
  6285. :NSA line eater: n. The National Security Agency trawling program
  6286.    sometimes assumed to be reading the net for the U.S. Government's
  6287.    spooks.  Most hackers describe it as a mythical beast, but some
  6288.    believe it actually exists, more aren't sure, and many believe in
  6289.    acting as though it exists just in case.  Some netters put loaded
  6290.    phrases like `KGB', `Uzi', `nuclear materials',
  6291.    `Palestine', `cocaine', and `assassination' in their {sig
  6292.    block}s in a (probably futile) attempt to confuse and overload the
  6293.    creature.  The {GNU} version of {EMACS} actually has a
  6294.    command that randomly inserts a bunch of insidious anarcho-verbiage
  6295.    into your edited text.
  6296.  
  6297.    There is a mainstream variant of this myth involving a `Trunk Line
  6298.    Monitor', which supposedly used speech recognition to extract words
  6299.    from telephone trunks.  This one was making the rounds in the
  6300.    late 1970s, spread by people who had no idea of then-current
  6301.    technology or the storage, signal-processing, or speech recognition
  6302.    needs of such a project.  On the basis of mass-storage costs alone
  6303.    it would have been cheaper to hire 50 high-school students and just
  6304.    let them listen in.  Speech-recognition technology can't do this
  6305.    job even now (1993), and almost certainly won't in this millennium,
  6306.    either.  The peak of silliness came with a letter to an alternative
  6307.    paper in New Haven, Connecticut, laying out the factoids of this
  6308.    Big Brotherly affair.  The letter writer then revealed his actual
  6309.    agenda by offering --- at an amazing low price, just this once, we
  6310.    take VISA and MasterCard --- a scrambler guaranteed to daunt the
  6311.    Trunk Trawler and presumably allowing the would-be Baader-Meinhof
  6312.    gangs of the world to get on with their business.
  6313.  
  6314. :nude: adj. Said of machines delivered without an operating system
  6315.    (compare {bare metal}).  "We ordered 50 systems, but they all
  6316.    arrived nude, so we had to spend a an extra weekend with the
  6317.    install-tapes."  This usage is a recent innovation reflecting the
  6318.    fact that most PC clones are now delivered with DOS or Microsoft
  6319.    Windows pre-installed at the factory.  Other kinds of hardware are
  6320.    still normally delivered without OS, so this term is particular to
  6321.    PC support groups.
  6322.  
  6323. :nuke: /n[y]ook/ vt. 1. To intentionally delete the entire
  6324.    contents of a given directory or storage volume.  "On UNIX,
  6325.    `rm -r /usr' will nuke everything in the usr filesystem."
  6326.    Never used for accidental deletion.  Oppose {blow away}.
  6327.    2. Syn. for {dike}, applied to smaller things such as files,
  6328.    features, or code sections.  Often used to express a final verdict.
  6329.    "What do you want me to do with that 80-meg {wallpaper} file?"
  6330.    "Nuke it."  3. Used of processes as well as files; nuke is a
  6331.    frequent verbal alias for `kill -9' on UNIX.  4. On IBM PCs,
  6332.    a bug that results in {fandango on core} can trash the operating
  6333.    system, including the FAT (the in-core copy of the disk block
  6334.    chaining information).  This can utterly scramble attached disks,
  6335.    which are then said to have been `nuked'.  This term is also used
  6336.    of analogous lossages on Macintoshes and other micros without
  6337.    memory protection.
  6338.  
  6339. :number-crunching: n. Computations of a numerical nature, esp.
  6340.    those that make extensive use of floating-point numbers.  The only
  6341.    thing {Fortrash} is good for.  This term is in widespread
  6342.    informal use outside hackerdom and even in mainstream slang, but
  6343.    has additional hackish connotations: namely, that the computations
  6344.    are mindless and involve massive use of {brute force}.  This is
  6345.    not always {evil}, esp. if it involves ray tracing or fractals
  6346.    or some other use that makes {pretty pictures}, esp. if such
  6347.    pictures can be used as {wallpaper}.  See also {crunch}.
  6348.  
  6349. :numbers: [scientific computation] n. Output of a computation that
  6350.    may not be significant results but at least indicate that the
  6351.    program is running.  May be used to placate management, grant
  6352.    sponsors, etc.  `Making numbers' means running a program
  6353.    because output --- any output, not necessarily meaningful output
  6354.    --- is needed as a demonstration of progress.  See {pretty
  6355.    pictures}, {math-out}, {social science number}.
  6356.  
  6357. :NUXI problem: /nuk'see pro'bl*m/ n. This refers to the problem of
  6358.    transferring data between machines with differing byte-order.  The
  6359.    string `UNIX' might look like `NUXI' on a machine with a
  6360.    different `byte sex' (e.g., when transferring data from a
  6361.    {little-endian} to a {big-endian}, or vice-versa).  See also
  6362.    {middle-endian}, {swab}, and {bytesexual}.
  6363.  
  6364. :nybble: /nib'l/ (alt. `nibble') [from v. `nibble' by analogy
  6365.    with `bite' => `byte'] n. Four bits; one {hex} digit;
  6366.    a half-byte.  Though `byte' is now techspeak, this useful relative
  6367.    is still jargon.  Compare {{byte}}, {crumb}, {tayste},
  6368.    {dynner}; see also {bit}, {nickle}, {deckle}.  Apparently
  6369.    this spelling is uncommon in Commonwealth Hackish, as British
  6370.    orthography suggests the pronunciation /ni:'bl/.
  6371.  
  6372. :nyetwork: /nyet'werk/ [from Russian `nyet' = no] n. A network,
  6373.    when it is acting {flaky} or is {down}.  Compare {notwork}.
  6374.  
  6375. = O =
  6376. =====
  6377.  
  6378. :Ob-: /ob/ pref. Obligatory.  A piece of {netiquette}
  6379.    acknowledging that the author has been straying from the
  6380.    newsgroup's charter topic.  For example, if a posting in alt.sex is
  6381.    a response to a part of someone else's posting that has nothing
  6382.    particularly to do with sex, the author may append `ObSex' (or
  6383.    `Obsex') and toss off a question or vignette about some unusual
  6384.    erotic act.  It is considered a sign of great {winnitude} when
  6385.    your Obs are more interesting than other people's whole postings.
  6386.  
  6387. :Obfuscated C Contest: n. An annual contest run since 1984 over
  6388.    USENET by Landon Curt Noll and friends.  The overall winner is
  6389.    whoever produces the most unreadable, creative, and bizarre (but
  6390.    working) C program; various other prizes are awarded at the judges'
  6391.    whim.  C's terse syntax and macro-preprocessor facilities give
  6392.    contestants a lot of maneuvering room.  The winning programs often
  6393.    manage to be simultaneously (a) funny, (b) breathtaking works of
  6394.    art, and (c) horrible examples of how *not* to code in C.
  6395.  
  6396.    This relatively short and sweet entry might help convey the flavor
  6397.    of obfuscated C:
  6398.  
  6399.      /*
  6400.       * HELLO WORLD program
  6401.       * by Jack Applin and Robert Heckendorn, 1985
  6402.       */
  6403.      main(v,c)char**c;{for(v[c++]="Hello, world!\n)";
  6404.      (!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));
  6405.      **c=!c)write(!!*c,*c,!!**c);}
  6406.  
  6407.    Here's another good one:
  6408.  
  6409.      /*
  6410.       * Program to compute an approximation of pi
  6411.       *  by Brian Westley, 1988
  6412.       */
  6413.  
  6414.      #define _ -F<00||--F-OO--;
  6415.      int F=00,OO=00;
  6416.      main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
  6417.      {
  6418.                  _-_-_-_
  6419.             _-_-_-_-_-_-_-_-_
  6420.          _-_-_-_-_-_-_-_-_-_-_-_
  6421.        _-_-_-_-_-_-_-_-_-_-_-_-_-_
  6422.       _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  6423.       _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  6424.      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  6425.      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  6426.      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  6427.      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  6428.       _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  6429.       _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  6430.        _-_-_-_-_-_-_-_-_-_-_-_-_-_
  6431.          _-_-_-_-_-_-_-_-_-_-_-_
  6432.              _-_-_-_-_-_-_-_
  6433.                  _-_-_-_
  6434.      }
  6435.  
  6436.    Note that this program works by computing uts own area.  For more
  6437.    digits, write a bigger program.  See also {hello, world}.
  6438.    
  6439.  
  6440. :obi-wan error: /oh'bee-won` er'*r/ [RPI, from `off-by-one' and
  6441.    the Obi-Wan Kenobi character in "Star Wars"] n. A loop of
  6442.    some sort in which the index is off by 1.  Common when the index
  6443.    should have started from 0 but instead started from 1.  A kind of
  6444.    {off-by-one error}.  See also {zeroth}.
  6445.  
  6446. :Objectionable-C: n. Hackish take on "Objective-C", the name of
  6447.    an object-oriented dialect of C in competition with the
  6448.    better-known C++ (it is used to write native applications on the
  6449.    NeXT machine).  Objectionable-C uses a Smalltalk-like syntax, but
  6450.    lacks the flexibility of Smalltalk method calls, and (like many
  6451.    such efforts) comes frustratingly close to attaining the {Right
  6452.    Thing} without actually doing so.
  6453.  
  6454. :obscure: adj. Used in an exaggeration of its normal meaning, to
  6455.    imply total incomprehensibility.  "The reason for that last crash
  6456.    is obscure."  "The `find(1)' command's syntax is obscure!"
  6457.    The phrase `moderately obscure' implies that it could be
  6458.    figured out but probably isn't worth the trouble.  The construction
  6459.    `obscure in the extreme' is the preferred emphatic form.
  6460.  
  6461. :octal forty: /ok'tl for'tee/ n. Hackish way of saying "I'm
  6462.    drawing a blank."  Octal 40 is the {{ASCII}} space character,
  6463.    0100000; by an odd coincidence, {hex} 40 (01000000) is the
  6464.    {{EBCDIC}} space character.  See {wall}.
  6465.  
  6466. :off the trolley: adj. Describes the behavior of a program that
  6467.    malfunctions and goes catatonic, but doesn't actually {crash} or
  6468.    abort.  See {glitch}, {bug}, {deep space}.
  6469.  
  6470. :off-by-one error: n. Exceedingly common error induced in many
  6471.    ways, such as by starting at 0 when you should have started at 1 or
  6472.    vice versa, or by writing `< N' instead of `<= N' or
  6473.    vice-versa.  Also applied to giving something to the person next to
  6474.    the one who should have gotten it.  Often confounded with
  6475.    {fencepost error}, which is properly a particular subtype of it.
  6476.  
  6477. :offline: adv. Not now or not here.  "Let's take this
  6478.    discussion offline."  Specifically used on {USENET} to suggest
  6479.    that a discussion be taken off a public newsgroup to email.
  6480.  
  6481. :ogg: /awg/ [CMU] v. 1. In the multi-player space combat game
  6482.    Netrek, to execute kamikaze attacks against enemy ships which are
  6483.    carrying armies or occupying strategic positions.  Named during a
  6484.    game in which one of the players repeatedly used the tactic while
  6485.    playing Orion ship G, showing up in the player list as "Og".
  6486.    This trick has been roundly denounced by those who would return to
  6487.    the good old days when the tactic of dogfighting was dominant, but
  6488.    as Sun Tzu wrote, "What is of supreme importance in war is to
  6489.    attack the enemy's strategy."  However, the traditional answer to
  6490.    the newbie question "What does ogg mean?" is just "Pick up some
  6491.    armies and I'll show you."  2. In other games, to forcefully
  6492.    attack an opponent with the expectation that the resources expended
  6493.    will be renewed faster than the opponent will be able to regain his
  6494.    previous advantage.  Taken more seriously as a tactic since it has
  6495.    gained a simple name.  3. To do anything forcefully, possibly
  6496.    without consideration of the drain on future resources.  "I guess
  6497.    I'd better go ogg the problem set that's due tomorrow."  "Whoops!
  6498.    I looked down at the map for a sec and almost ogged that oncoming
  6499.    car."
  6500.  
  6501. :old fart: n. Tribal elder.  A title self-assumed with remarkable
  6502.    frequency by (esp.) USENETters who have been programming for more
  6503.    than about 25 years; often appears in {sig block}s attached to
  6504.    Jargon File contributions of great archeological significance.
  6505.    This is a term of insult in the second or third person but one of
  6506.    pride in first person.
  6507.  
  6508. :Old Testament: n. [C programmers] The first edition of {K&R}, the
  6509.    sacred text describing {Classic C}.
  6510.  
  6511. :one-banana problem: n. At mainframe shops, where the computers
  6512.    have operators for routine administrivia, the programmers and
  6513.    hardware people tend to look down on the operators and claim that a
  6514.    trained monkey could do their job.  It is frequently observed that
  6515.    the incentives that would be offered said monkeys can be used as a
  6516.    scale to describe the difficulty of a task.  A one-banana problem
  6517.    is simple; hence, "It's only a one-banana job at the most; what's
  6518.    taking them so long?"
  6519.  
  6520.    At IBM, folklore divides the world into one-, two-, and
  6521.    three-banana problems.  Other cultures have different hierarchies
  6522.    and may divide them more finely; at ICL, for example, five grapes
  6523.    (a bunch) equals a banana.  Their upper limit for the in-house
  6524.    {sysape}s is said to be two bananas and three grapes (another
  6525.    source claims it's three bananas and one grape, but observes
  6526.    "However, this is subject to local variations, cosmic rays and
  6527.    ISO").  At a complication level any higher than that, one asks the
  6528.    manufacturers to send someone around to check things.
  6529.  
  6530.    See also {Infinite-Monkey Theorem}.
  6531.  
  6532. :one-line fix: n. Used (often sarcastically) of a change to a
  6533.    program that is thought to be trivial or insignificant right up to
  6534.    the moment it crashes the system.  Usually `cured' by another
  6535.    one-line fix.  See also {I didn't change anything!}
  6536.  
  6537. :one-liner wars: n. A game popular among hackers who code in the
  6538.    language APL (see {write-only language} and {line noise}).
  6539.    The objective is to see who can code the most interesting and/or
  6540.    useful routine in one line of operators chosen from
  6541.    APL's exceedingly {hairy} primitive set.  A similar amusement
  6542.    was practiced among {TECO} hackers and is now popular among
  6543.    {Perl} aficionados.
  6544.    
  6545.    Ken Iverson, the inventor of APL, has been credited with a
  6546.    one-liner that, given a number N, produces a list of the
  6547.    prime numbers from 1 to N inclusive.  It looks like this:
  6548.  
  6549.         (2 = 0 +.= T o.| T) / T <- iN
  6550.  
  6551.    where `o' is the APL null character, the assignment arrow is a
  6552.    single character, and `i' represents the APL iota.
  6553.  
  6554. :ooblick: /oo'blik/ [from the Dr. Seuss title `Bartholomew
  6555.    and the Oobleck'] n. A bizarre semi-liquid sludge made from
  6556.    cornstarch and water.  Enjoyed among hackers who make batches
  6557.    during playtime at parties for its amusing and extremely
  6558.    non-Newtonian behavior; it pours and splatters, but resists rapid
  6559.    motion like a solid and will even crack when hit by a hammer.
  6560.    Often found near lasers.
  6561.  
  6562.    Here is a field-tested ooblick recipe contributed by GLS:
  6563.  
  6564.      1 cup cornstarch
  6565.  
  6566.      1 cup baking soda
  6567.  
  6568.      3/4 cup water
  6569.  
  6570.      N drops of food coloring
  6571.  
  6572.    This recipe isn't quite as non-Newtonian as a pure cornstarch
  6573.    ooblick, but has an appropriately slimy feel.
  6574.  
  6575.    Some, however, insist that the notion of an ooblick *recipe*
  6576.    is far too mechanical, and that it is best to add the water in
  6577.    small increments so that the various mixed states the cornstarch
  6578.    goes through as it *becomes* ooblick can be grokked in
  6579.    fullness by many hands.  For optional ingredients of this
  6580.    experience, see the "{Ceremonial Chemicals}" section of
  6581.    {Appendix B}.
  6582.  
  6583. :op: /op/ n. 1 [IRC] Someone who is endowed with privileges on
  6584.    {IRC}, not limited to a particular channel.  These are generally
  6585.    people who are in charge of the IRC server at their particular
  6586.    site.  Sometimes used interchangeably with {CHOP}.  Compare
  6587.    {sysop}.  2. In England and Ireland, common verbal abbreviation
  6588.    for `operator', as in system operator.  Less common in the U.S.,
  6589.    where {sysop} seems to be preferred.
  6590.  
  6591. :open: n. Abbreviation for `open (or left) parenthesis' --- used when
  6592.    necessary to eliminate oral ambiguity.  To read aloud the LISP form
  6593.    (DEFUN FOO (X) (PLUS X 1)) one might say: "Open defun foo, open
  6594.    eks close, open, plus eks one, close close."
  6595.  
  6596. :Open DeathTrap: n. Abusive hackerism for the Santa Cruz
  6597.    Operation's `Open DeskTop' product, a Motif-based graphical
  6598.    interface over their UNIX.  The funniest part is that this was
  6599.    coined by SCO's own developers...compare {AIDX},
  6600.    {terminak}, {Macintrash} {Nominal Semidestructor},
  6601.    {ScumOS}, {sun-stools}, {HP-SUX}.
  6602.  
  6603. :open switch: [IBM: prob. from railroading] n. An unresolved
  6604.    question, issue, or problem.
  6605.  
  6606. :operating system:: [techspeak] n. (Often abbreviated `OS') The
  6607.    foundation software of a machine, of course; that which schedules
  6608.    tasks, allocates storage, and presents a default interface to the
  6609.    user between applications.  The facilities an operating system
  6610.    provides and its general design philosophy exert an extremely
  6611.    strong influence on programming style and on the technical cultures
  6612.    that grow up around its host machines.  Hacker folklore has been
  6613.    shaped primarily by the {{UNIX}}, {{ITS}}, {{TOPS-10}},
  6614.    {{TOPS-20}}/{{TWENEX}}, {{WAITS}}, {{CP/M}}, {{MS-DOS}}, and
  6615.    {{Multics}} operating systems (most importantly by ITS and
  6616.    UNIX).
  6617.  
  6618. :optical diff: n. See {vdiff}.
  6619.  
  6620. :optical grep: n. See {vgrep}.
  6621.  
  6622. :optimism: n. What a programmer is full of after fixing what is
  6623.    presumably the last bug and just before actually discovering a next
  6624.    last bug . Fred Brooks's book `The Mythical Man-Month' (See
  6625.    `Brooks's Law'.) contains the following paragraph that describes
  6626.    this extremely well:
  6627.  
  6628.      All programmers are optimists. Perhaps this
  6629.      modern sorcery especially attracts those who believe in happy
  6630.      endings and fairy god-mothers. Perhaps the hundreds of nitty
  6631.      frustrations drive away all but those who habitually focus on the
  6632.      end goal. Perhaps it is merely that computers are young,
  6633.      programmers are younger, and the young are always optimists. But
  6634.      however the selection process works, the result is indisputable:
  6635.      "This time it will surely run," or "I just found the last bug.".
  6636.  
  6637.    See also {Lubarsky's Law of Cybernetic Entomology}.
  6638.  
  6639. :Orange Book: n. The U.S. Government's standards document
  6640.    `Trusted Computer System Evaluation Criteria, DOD standard
  6641.    5200.28-STD, December, 1985' which characterize secure computing
  6642.    architectures and defines levels A1 (most secure) through D
  6643.    (least).  Stock UNIXes are roughly C1, and can be upgraded to
  6644.    about C2 without excessive pain.  See also {{crayola books}},
  6645.    {{book titles}}.
  6646.  
  6647. :oriental food:: n. Hackers display an intense tropism towards
  6648.    oriental cuisine, especially Chinese, and especially of the spicier
  6649.    varieties such as Szechuan and Hunan.  This phenomenon (which has
  6650.    also been observed in subcultures that overlap heavily with
  6651.    hackerdom, most notably science-fiction fandom) has never been
  6652.    satisfactorily explained, but is sufficiently intense that one can
  6653.    assume the target of a hackish dinner expedition to be the best
  6654.    local Chinese place and be right at least three times out of four.
  6655.    See also {ravs}, {great-wall}, {stir-fried random},
  6656.    {laser chicken}, {Yu-Shiang Whole Fish}.  Thai, Indian,
  6657.    Korean, and Vietnamese cuisines are also quite popular.
  6658.  
  6659. :orphan: [UNIX] n. A process whose parent has died; one inherited by
  6660.    `init(1)'.  Compare {zombie}.
  6661.  
  6662. :orphaned i-node: /or'f*nd i:'nohd/ [UNIX] n. 1. [techspeak] A
  6663.    file that retains storage but no longer appears in the directories
  6664.    of a filesystem.  2. By extension, a pejorative for any person no
  6665.    longer serving a useful function within some organization, esp.
  6666.    {lion food} without subordinates.
  6667.  
  6668. :orthogonal: [from mathematics] adj. Mutually independent; well
  6669.    separated; sometimes, irrelevant to.  Used in a generalization of
  6670.    its mathematical meaning to describe sets of primitives or
  6671.    capabilities that, like a vector basis in geometry, span the
  6672.    entire `capability space' of the system and are in some sense
  6673.    non-overlapping or mutually independent.  For example, in
  6674.    architectures such as the PDP-11 or VAX where all or nearly all
  6675.    registers can be used interchangeably in any role with respect to
  6676.    any instruction, the register set is said to be orthogonal.  Or, in
  6677.    logic, the set of operators `not' and `or' is orthogonal,
  6678.    but the set `nand', `or', and `not' is not (because any
  6679.    one of these can be expressed in terms of the others).  Also used
  6680.    in comments on human discourse: "This may be orthogonal to the
  6681.    discussion, but...."
  6682.  
  6683. :OS: /O-S/ 1. [Operating System] n. An abbreviation heavily used in email,
  6684.    occasionally in speech.  2. n.,obs. On ITS, an output spy.  See
  6685.    "{OS and JEDGAR}" (in {Appendix A}).
  6686.  
  6687. :OS/2: /O S too/ n. The anointed successor to MS-DOS for Intel
  6688.    286- and 386-based micros; proof that IBM/Microsoft couldn't get it
  6689.    right the second time, either.  Mentioning it is usually good for a
  6690.    cheap laugh among hackers --- the design was so {baroque}, and
  6691.    the implementation of 1.x so bad, that 3 years after introduction
  6692.    you could still count the major {app}s shipping for it on the
  6693.    fingers of two hands --- in unary.  Often called `Half-an-OS'.  On
  6694.    January 28, 1991, Microsoft announced that it was dropping its OS/2
  6695.    development to concentrate on Windows, leaving the OS entirely in
  6696.    the hands of IBM; on January 29 they claimed the media had got the
  6697.    story wrong, but were vague about how.  It looks as though OS/2 is
  6698.    moribund.  See {vaporware}, {monstrosity}, {cretinous},
  6699.    {second-system effect}.
  6700.  
  6701. :out-of-band: [from telecommunications and network theory] adj.
  6702.    1. In software, describes values of a function which are not in its
  6703.    `natural' range of return values, but are rather signals that
  6704.    some kind of exception has occurred.  Many C functions, for
  6705.    example, return either a nonnegative integral value, or indicate
  6706.    failure with an out-of-band return value of -1.  Compare
  6707.    {hidden flag}, {green bytes}.  2. Also sometimes used to
  6708.    describe what communications people call `shift characters',
  6709.    like the ESC that leads control sequences for many terminals, or
  6710.    the level shift indicators in the old 5-bit Baudot codes.  3. In
  6711.    personal communication, using methods other than email, such as
  6712.    telephones or {snail-mail}.
  6713.  
  6714. :overflow bit: n. 1. [techspeak] On some processors, an attempt to
  6715.    calculate a result too large for a register to hold causes a
  6716.    particular {flag} called an {overflow bit} to be set.
  6717.    2. Hackers use the term of human thought too.  "Well, the {{Ada}}
  6718.    description was {baroque} all right, but I could hack it OK until
  6719.    they got to the exception handling ... that set my overflow bit."
  6720.    3. The hypothetical bit that will be set if a hacker doesn't get to
  6721.    make a trip to the Room of Porcelain Fixtures: "I'd better process
  6722.    an internal interrupt before the overflow bit gets set".
  6723.  
  6724. :overflow pdl: [MIT] n. The place where you put things when your
  6725.    {pdl} is full.  If you don't have one and too many things get
  6726.    pushed, you forget something.  The overflow pdl for a person's
  6727.    memory might be a memo pad.  This usage inspired the following
  6728.    doggerel:
  6729.  
  6730.      Hey, diddle, diddle
  6731.      The overflow pdl
  6732.         To get a little more stack;
  6733.      If that's not enough
  6734.      Then you lose it all,
  6735.         And have to pop all the way back.
  6736.                                     --The Great Quux
  6737.  
  6738.    The term {pdl} seems to be primarily an MITism; outside MIT this
  6739.    term is replaced by `overflow {stack}'.
  6740.  
  6741. :overrun: n. 1. [techspeak] Term for a frequent consequence of data
  6742.    arriving faster than it can be consumed, esp. in serial line
  6743.    communications.  For example, at 9600 baud there is almost exactly
  6744.    one character per millisecond, so if your {silo} can hold only
  6745.    two characters and the machine takes longer than 2 msec to get to
  6746.    service the interrupt, at least one character will be lost.
  6747.    2. Also applied to non-serial-I/O communications. "I forgot to pay
  6748.    my electric bill due to mail overrun."  "Sorry, I got four phone
  6749.    calls in 3 minutes last night and lost your message to overrun."
  6750.    When {thrash}ing at tasks, the next person to make a request
  6751.    might be told "Overrun!"  Compare {firehose syndrome}. 3. More
  6752.    loosely, may refer to a {buffer overflow} not necessarily
  6753.    related to processing time (as in {overrun screw}).
  6754.  
  6755. :overrun screw: [C programming] n. A variety of {fandango on
  6756.    core} produced by scribbling past the end of an array (C
  6757.    implementations typically have no checks for this error).  This is
  6758.    relatively benign and easy to spot if the array is static; if it is
  6759.    auto, the result may be to {smash the stack} --- often resulting
  6760.    in {heisenbug}s of the most diabolical subtlety.  The term
  6761.    `overrun screw' is used esp. of scribbles beyond the end of
  6762.    arrays allocated with `malloc(3)'; this typically trashes the
  6763.    allocation header for the next block in the {arena}, producing
  6764.    massive lossage within malloc and often a core dump on the next
  6765.    operation to use `stdio(3)' or `malloc(3)' itself.  See
  6766.    {spam}, {overrun}; see also {memory leak}, {memory
  6767.    smash}, {aliasing bug}, {precedence lossage}, {fandango on
  6768.    core}, {secondary damage}.
  6769.  
  6770. = P =
  6771. =====
  6772.  
  6773. :P-mail: n. Physical mail, as opposed to {email}.  Synonymous
  6774.    with {snail-mail}.
  6775.  
  6776. :P.O.D.: /P-O-D/ Acronym for `Piece Of Data' (as opposed to a
  6777.    code section). Usage: pedantic and rare.  See also {pod}.
  6778.  
  6779. :padded cell: n. Where you put {luser}s so they can't hurt
  6780.    anything.  A program that limits a luser to a carefully restricted
  6781.    subset of the capabilities of the host system (for example, the
  6782.    `rsh(1)' utility on USG UNIX).  Note that this is different
  6783.    from an {iron box} because it is overt and not aimed at
  6784.    enforcing security so much as protecting others (and the luser)
  6785.    from the consequences of the luser's boundless naivet'e (see
  6786.    {naive}).  Also `padded cell environment'.
  6787.  
  6788. :page in: [MIT] vi. 1. To become aware of one's surroundings again
  6789.    after having paged out (see {page out}).  Usually confined to
  6790.    the sarcastic comment: "Eric pages in.  Film at 11."  See
  6791.    {film at 11}.  2. Syn. `swap in'; see {swap}.
  6792.  
  6793. :page out: [MIT] vi. 1. To become unaware of one's surroundings
  6794.    temporarily, due to daydreaming or preoccupation.  "Can you repeat
  6795.    that?  I paged out for a minute."  See {page in}.  Compare
  6796.    {glitch}, {thinko}.  2. Syn. `swap out'; see {swap}.
  6797.  
  6798. :pain in the net: n. A {flamer}.
  6799.  
  6800. :paper-net: n. Hackish way of referring to the postal service,
  6801.    analogizing it to a very slow, low-reliability network.  USENET
  6802.    {sig block}s sometimes include a "Paper-Net:" header just
  6803.    before the sender's postal address; common variants of this are
  6804.    "Papernet" and "P-Net".  Note that the standard {netiquette}
  6805.    guidelines discourage this practice as a waste of bandwidth, since
  6806.    netters are quite unlikely to casually use postal addresses.
  6807.    Compare {voice-net}, {snail-mail}, {P-mail}.
  6808.  
  6809. :param: /p*-ram'/ n. Shorthand for `parameter'.  See also
  6810.    {parm}; compare {arg}, {var}.
  6811.  
  6812. :PARC: n. See {XEROX PARC}.
  6813.  
  6814. :parent message: n. See {followup}.
  6815.  
  6816. :parity errors: pl.n. Little lapses of attention or (in more severe
  6817.    cases) consciousness, usually brought on by having spent all night
  6818.    and most of the next day hacking.  "I need to go home and crash;
  6819.    I'm starting to get a lot of parity errors."  Derives from a
  6820.    relatively common but nearly always correctable transient error in
  6821.    RAM hardware.
  6822.  
  6823. :Parkinson's Law of Data: prov. "Data expands to fill the space
  6824.    available for storage"; buying more memory encourages the use of
  6825.    more memory-intensive techniques.  It has been observed over the
  6826.    last 10 years that the memory usage of evolving systems tends to
  6827.    double roughly once every 18 months.  Fortunately, memory density
  6828.    available for constant dollars tends to double about once every
  6829.    12 months (see {Moore's Law}); unfortunately, the laws of
  6830.    physics guarantee that the latter cannot continue indefinitely.
  6831.  
  6832. :parm: /parm/ n. Further-compressed form of {param}.  This term
  6833.    is an IBMism, and written use is almost unknown outside IBM
  6834.    shops; spoken /parm/ is more widely distributed, but the synonym
  6835.    {arg} is favored among hackers.  Compare {arg}, {var}.
  6836.  
  6837. :parse: [from linguistic terminology] vt. 1. To determine the
  6838.    syntactic structure of a sentence or other utterance (close to the
  6839.    standard English meaning).  "That was the one I saw you."  "I
  6840.    can't parse that."  2. More generally, to understand or
  6841.    comprehend.  "It's very simple; you just kretch the glims and then
  6842.    aos the zotz."  "I can't parse that."  3. Of fish, to have to
  6843.    remove the bones yourself.  "I object to parsing fish", means "I
  6844.    don't want to get a whole fish, but a sliced one is okay".  A
  6845.    `parsed fish' has been deboned.  There is some controversy over
  6846.    whether `unparsed' should mean `bony', or also mean
  6847.    `deboned'.
  6848.  
  6849. :Pascal:: n. An Algol-descended language designed by Niklaus Wirth
  6850.    on the CDC 6600 around 1967--68 as an instructional tool for
  6851.    elementary programming.  This language, designed primarily to keep
  6852.    students from shooting themselves in the foot and thus extremely
  6853.    restrictive from a general-purpose-programming point of view, was
  6854.    later promoted as a general-purpose tool and, in fact, became the
  6855.    ancestor of a large family of languages including Modula-2 and
  6856.    {{Ada}} (see also {bondage-and-discipline language}).  The
  6857.    hackish point of view on Pascal was probably best summed up by a
  6858.    devastating (and, in its deadpan way, screamingly funny) 1981 paper
  6859.    by Brian Kernighan (of {K&R} fame) entitled "Why Pascal is
  6860.    Not My Favorite Programming Language", which was turned down by the
  6861.    technical journals but circulated widely via photocopies.  It was
  6862.    eventually published in "Comparing and Assessing Programming
  6863.    Languages", edited by Alan Feuer and Narain Gehani (Prentice-Hall,
  6864.    1984).  Part of his discussion is worth repeating here, because its
  6865.    criticisms are still apposite to Pascal itself after ten years of
  6866.    improvement and could also stand as an indictment of many other
  6867.    bondage-and-discipline languages.  At the end of a summary of the
  6868.    case against Pascal, Kernighan wrote:
  6869.  
  6870.      9. There is no escape
  6871.  
  6872.      This last point is perhaps the most important.  The language is
  6873.      inadequate but circumscribed, because there is no way to escape its
  6874.      limitations.  There are no casts to disable the type-checking when
  6875.      necessary.  There is no way to replace the defective run-time
  6876.      environment with a sensible one, unless one controls the compiler
  6877.      that defines the "standard procedures".  The language is closed.
  6878.  
  6879.      People who use Pascal for serious programming fall into a fatal
  6880.      trap.  Because the language is impotent, it must be extended.  But
  6881.      each group extends Pascal in its own direction, to make it look
  6882.      like whatever language they really want.  Extensions for separate
  6883.      compilation, FORTRAN-like COMMON, string data types, internal
  6884.      static variables, initialization, octal numbers, bit operators,
  6885.      etc., all add to the utility of the language for one group but
  6886.      destroy its portability to others.
  6887.  
  6888.      I feel that it is a mistake to use Pascal for anything much beyond
  6889.      its original target.  In its pure form, Pascal is a toy language,
  6890.      suitable for teaching but not for real programming.
  6891.  
  6892.    Pascal has since been almost entirely displaced (by {C}) from the
  6893.    niches it had acquired in serious applications and systems
  6894.    programming, but retains some popularity as a hobbyist language in
  6895.    the MS-DOS and Macintosh worlds.
  6896.  
  6897. :pastie: /pay'stee/ n. An adhesive-backed label designed to be
  6898.    attached to a key on a keyboard to indicate some non-standard
  6899.    character which can be accessed through that key.  Pasties are
  6900.    likely to be used in APL environments, where almost every key is
  6901.    associated with a special character.  A pastie on the R key, for
  6902.    example, would remind the user that it is used to generate the rho
  6903.    character.  The term properly refers to nipple-concealing devices
  6904.    formerly worn by strippers in concession to indecent-exposure
  6905.    laws; compare {tits on a keyboard}.
  6906.  
  6907. :patch: 1. n. A temporary addition to a piece of code, usually as a
  6908.    {quick-and-dirty} remedy to an existing bug or misfeature.  A
  6909.    patch may or may not work, and may or may not eventually be
  6910.    incorporated permanently into the program.  Distinguished from a
  6911.    {diff} or {mod} by the fact that a patch is generated by more
  6912.    primitive means than the rest of the program; the classical
  6913.    examples are instructions modified by using the front panel
  6914.    switches, and changes made directly to the binary executable of a
  6915.    program originally written in an {HLL}.  Compare {one-line
  6916.    fix}.  2. vt. To insert a patch into a piece of code.  3. [in the
  6917.    UNIX world] n. A {diff} (sense 2).  4. A set of modifications to
  6918.    binaries to be applied by a patching program.  IBM operating
  6919.    systems often receive updates to the operating system in the form
  6920.    of absolute hexadecimal patches.  If you have modified your OS, you
  6921.    have to disassemble these back to the source.  The patches might
  6922.    later be corrected by other patches on top of them (patches were
  6923.    said to "grow scar tissue").  The result was often a convoluted
  6924.    {patch space} and headaches galore.  5. [UNIX] the
  6925.    `patch(1)' program, written by Larry Wall, which automatically
  6926.    applies a patch (sense 3) to a set of source code.
  6927.  
  6928.    There is a classic story of a {tiger team} penetrating a secure
  6929.    military computer that illustrates the danger inherent in binary
  6930.    patches (or, indeed, any that you can't --- or don't --- inspect
  6931.    and examine before installing).  They couldn't find any {trap
  6932.    door}s or any way to penetrate security of IBM's OS, so they made a
  6933.    site visit to an IBM office (remember, these were official military
  6934.    types who were purportedly on official business), swiped some IBM
  6935.    stationery, and created a fake patch.  The patch was actually the
  6936.    trapdoor they needed.  The patch was distributed at about the right
  6937.    time for an IBM patch, had official stationery and all accompanying
  6938.    documentation, and was dutifully installed.  The installation
  6939.    manager very shortly thereafter learned something about proper
  6940.    procedures.
  6941.  
  6942. :patch space: n. An unused block of bits left in a binary so that
  6943.    it can later be modified by insertion of machine-language
  6944.    instructions there (typically, the patch space is modified to
  6945.    contain new code, and the superseded code is patched to contain a
  6946.    jump or call to the patch space).  The widening use of HLLs has
  6947.    made this term rare; it is now primarily historical outside IBM
  6948.    shops.  See {patch} (sense 4), {zap} (sense 4), {hook}.
  6949.  
  6950. :path: n. 1. A {bang path} or explicitly routed {{Internet
  6951.    address}}; a node-by-node specification of a link between two
  6952.    machines.  2. [UNIX] A filename, fully specified relative to the
  6953.    root directory (as opposed to relative to the current directory;
  6954.    the latter is sometimes called a `relative path'). This is also
  6955.    called a `pathname'.  3. [UNIX and MS-DOS] The `search
  6956.    path', an environment variable specifying the directories in which
  6957.    the {shell} (COMMAND.COM, under MS-DOS) should look for commands.
  6958.    Other, similar constructs abound under UNIX (for example, the
  6959.    C preprocessor has a `search path' it uses in looking for
  6960.    `#include' files).
  6961.  
  6962. :pathological: adj. 1. [scientific computation] Used of a data set
  6963.    that is grossly atypical of normal expected input, esp. one that
  6964.    exposes a weakness or bug in whatever algorithm one is using.  An
  6965.    algorithm that can be broken by pathological inputs may still be
  6966.    useful if such inputs are very unlikely to occur in practice.
  6967.    2. When used of test input, implies that it was purposefully
  6968.    engineered as a worst case.  The implication in both senses is that
  6969.    the data is spectacularly ill-conditioned or that someone had to
  6970.    explicitly set out to break the algorithm in order to come up with
  6971.    such a crazy example.  3. Also said of an unlikely collection of
  6972.    circumstances.  "If the network is down and comes up halfway
  6973.    through the execution of that command by root, the system may
  6974.    just crash."  "Yes, but that's a pathological case."  Often used
  6975.    to dismiss the case from discussion, with the implication that the
  6976.    consequences are acceptable since that they will happen so
  6977.    infrequently (if at all) that there is no justification for
  6978.    going to extra trouble to handle that case (see sense 1).
  6979.  
  6980. :payware: /pay'weir/ n. Commercial software.  Oppose {shareware}
  6981.    or {freeware}.
  6982.  
  6983. :PBD: /P-B-D/ [abbrev. of `Programmer Brain Damage'] n. Applied
  6984.    to bug reports revealing places where the program was obviously
  6985.    broken by an incompetent or short-sighted programmer.  Compare
  6986.    {UBD}; see also {brain-damaged}.
  6987.  
  6988. :PC-ism: /P-C-izm/ n. A piece of code or coding technique that
  6989.    takes advantage of the unprotected single-tasking environment in
  6990.    IBM PCs and the like, e.g., by busy-waiting on a hardware register,
  6991.    direct diddling of screen memory, or using hard timing loops.
  6992.    Compare {ill-behaved}, {vaxism}, {unixism}.  Also,
  6993.    `PC-ware' n., a program full of PC-isms on a machine with a more
  6994.    capable operating system.  Pejorative.
  6995.  
  6996. :PD: /P-D/ adj. Common abbreviation for `public domain', applied
  6997.    to software distributed over {USENET} and from Internet archive
  6998.    sites.  Much of this software is not in fact public domain in
  6999.    the legal sense but travels under various copyrights granting
  7000.    reproduction and use rights to anyone who can {snarf} a copy.  See
  7001.    {copyleft}.
  7002.  
  7003. :PDL: 1. n. `Program Design Language'.  Any of a large
  7004.    class of formal and profoundly useless pseudo-languages in which
  7005.    {management} forces one to design programs.  {Management}
  7006.    often expects it to be maintained in parallel with the code.  See
  7007.    also {{flowchart}}.  2. v. To design using a program design
  7008.    language.  "I've been pdling so long my eyes won't focus beyond 2
  7009.    feet." 3. n. `Page Description Language'.  Refers to any language
  7010.    which is used to control a graphics device, usually a laserprinter.
  7011.    The most common example is, of course, Adobe's {{PostScript}}
  7012.    language, but there are many others, such as Xerox InterPress,
  7013.    etc.
  7014.  
  7015. :pdl: /pid'l/ or /puhd'l/ [abbreviation for `Push Down List']
  7016.    1. n. In ITS days, the preferred MITism for {stack}.  See
  7017.    {overflow pdl}.  2. n. Dave Lebling, one of the co-authors of
  7018.    {Zork}; (his {network address} on the ITS machines was at one
  7019.    time pdl@dms). 2. Rarely, sny sense of {PDL}, as these are not
  7020.    invariably capitalized.
  7021.  
  7022. :PDP-10: [Programmed Data Processor model 10] n. The machine that
  7023.    made timesharing real.  It looms large in hacker folklore because
  7024.    of its adoption in the mid-1970s by many university computing
  7025.    facilities and research labs, including the MIT AI Lab, Stanford,
  7026.    and CMU.  Some aspects of the instruction set (most notably the
  7027.    bit-field instructions) are still considered unsurpassed.  The 10
  7028.    was eventually eclipsed by the VAX machines (descendants of the
  7029.    PDP-11) when DEC recognized that the 10 and VAX product lines were
  7030.    competing with each other and decided to concentrate its software
  7031.    development effort on the more profitable VAX.  The machine was
  7032.    finally dropped from DEC's line in 1983, following the failure of
  7033.    the Jupiter Project at DEC to build a viable new model. (Some
  7034.    attempts by other companies to market clones came to nothing; see
  7035.    {Foonly}) This event spelled the doom of {{ITS}} and the
  7036.    technical cultures that had spawned the original Jargon File, but
  7037.    by mid-1991 it had become something of a badge of honorable
  7038.    old-timerhood among hackers to have cut one's teeth on a PDP-10.
  7039.    See {{TOPS-10}}, {{ITS}}, {AOS}, {BLT}, {DDT}, {DPB},
  7040.    {EXCH}, {HAKMEM}, {JFCL}, {LDB}, {pop}, {push},
  7041.    {Appendix A}.
  7042.  
  7043. :PDP-20: n. The most famous computer that never was.  {PDP-10}
  7044.    computers running the {{TOPS-10}} operating system were labeled
  7045.    `DECsystem-10' as a way of differentiating them from the PDP-11.
  7046.    Later on, those systems running {TOPS-20} were labeled
  7047.    `DECSYSTEM-20' (the block capitals being the result of a lawsuit
  7048.    brought against DEC by Singer, which once made a computer called
  7049.    `system-10'), but contrary to popular lore there was never a
  7050.    `PDP-20'; the only difference between a 10 and a 20 was the
  7051.    operating system and the color of the paint.  Most (but not all)
  7052.    machines sold to run TOPS-10 were painted `Basil Blue', whereas
  7053.    most TOPS-20 machines were painted `Chinese Red' (often mistakenly
  7054.    called orange).
  7055.  
  7056. :peek: n.,vt. (and {poke}) The commands in most microcomputer
  7057.    BASICs for directly accessing memory contents at an absolute
  7058.    address; often extended to mean the corresponding constructs in any
  7059.    {HLL} (peek reads memory, poke modifies it).  Much hacking on
  7060.    small, non-MMU micros consists of `peek'ing around memory, more
  7061.    or less at random, to find the location where the system keeps
  7062.    interesting stuff.  Long (and variably accurate) lists of such
  7063.    addresses for various computers circulate (see {{interrupt list,
  7064.    the}}).  The results of `poke's at these addresses may be highly
  7065.    useful, mildly amusing, useless but neat, or (most likely) total
  7066.    {lossage} (see {killer poke}).
  7067.  
  7068.    Since a {real operating system} provides useful, higher-level
  7069.    services for the tasks commonly performed with peeks and pokes on
  7070.    micros, and real languages tend not to encourage low-level memory
  7071.    groveling, a question like "How do I do a peek in C?" is
  7072.    diagnostic of the {newbie}.  (Of course, OS kernels often have to
  7073.    do exactly this; a real C hacker would unhesitatingly, if
  7074.    unportably, assign an absolute address to a pointer variable and
  7075.    indirect through it.)
  7076.  
  7077. :pencil and paper: n. An archaic information storage and
  7078.    transmission device that works by depositing smears of graphite on
  7079.    bleached wood pulp.  More recent developments in paper-based
  7080.    technology include improved `write-once' update devices which use
  7081.    tiny rolling heads similar to mouse balls to deposit colored
  7082.    pigment.  All these devices require an operator skilled at
  7083.    so-called `handwriting' technique.  These technologies are
  7084.    ubiquitous outside hackerdom, but nearly forgotten inside it.  Most
  7085.    hackers had terrible handwriting to begin with, and years of
  7086.    keyboarding tend to have encouraged it to degrade further.  Perhaps
  7087.    for this reason, hackers deprecate pencil-and-paper technology and
  7088.    often resist using it in any but the most trivial contexts.  See
  7089.    also {Appendix B}.
  7090.  
  7091. :peon: n. A person with no special ({root} or {wheel})
  7092.    privileges on a computer system.  "I can't create an account on
  7093.    *foovax* for you; I'm only a peon there."
  7094.  
  7095. :percent-S: /per-sent' es'/ [From the code in C's `printf(3)'
  7096.    library function used to insert an arbitrary string argument] n. An
  7097.    unspecified person or object.  "I was just talking to some
  7098.    percent-s in administration."  Compare {random}.
  7099.  
  7100. :perf: /perf/ n. See {chad} (sense 1).  The term `perfory'
  7101.    /per'f*-ree/ is also heard. The term {perf} may also refer to
  7102.    the perforations themselves, rather than the chad they produce when
  7103.    torn.
  7104.  
  7105. :perfect programmer syndrome: n. Arrogance; the egotistical
  7106.    conviction that one is above normal human error.  Most frequently
  7107.    found among programmers of some native ability but relatively
  7108.    little experience (especially new graduates; their perceptions may
  7109.    be distorted by a history of excellent performance at solving {toy
  7110.    problem}s).  "Of course my program is correct, there is no need to
  7111.    test it."  "Yes, I can see there may be a problem here, but
  7112.    *I'll* never type `rm -r /' while in {root}."
  7113.  
  7114. :Perl: /perl/ [Practical Extraction and Report Language, a.k.a
  7115.    Pathologically Eclectic Rubbish Lister] n. An interpreted language
  7116.    developed by Larry Wall <lwall@jpl.nasa.gov>, author of
  7117.    `patch(1)' and `rn(1)') and distributed over USENET.
  7118.    Superficially resembles `awk(1)', but is much hairier (see
  7119.    {awk}).  UNIX sysadmins, who are almost always incorrigible
  7120.    hackers, increasingly consider it one of the {languages of
  7121.    choice}.  Perl has been described, in a parody of a famous remark
  7122.    about `lex(1)', as the "Swiss-Army chainsaw" of UNIX
  7123.    programming.
  7124.  
  7125. :person of no account: [University of California at Santa Cruz] n.
  7126.    Used when referring to a person with no {network address}, frequently
  7127.    to forestall confusion.  Most often as part of an introduction:
  7128.    "This is Bill, a person of no account, but he used to be
  7129.    bill@random.com".  Compare {return from the dead}.
  7130.  
  7131. :pessimal: /pes'im-l/ [Latin-based antonym for `optimal'] adj.
  7132.    Maximally bad.  "This is a pessimal situation."  Also `pessimize'
  7133.    vt. To make as bad as possible.  These words are the obvious
  7134.    Latin-based antonyms for `optimal' and `optimize', but for some
  7135.    reason they do not appear in most English dictionaries, although
  7136.    `pessimize' is listed in the OED.
  7137.  
  7138. :pessimizing compiler: /pes'*-mi:z`ing k*m-pi:l'r/ [antonym of
  7139.    `optimizing compiler'] n. A compiler that produces object code that
  7140.    is worse than the straightforward or obvious hand translation.  The
  7141.    implication is that the compiler is actually trying to optimize the
  7142.    program, but through excessive cleverness is doing the opposite.  A
  7143.    few pessimizing compilers have been written on purpose, however, as
  7144.    pranks or burlesques.
  7145.  
  7146. :peta-: /pe't*/ [SI] pref. See {{quantifiers}}.
  7147.  
  7148. :PETSCII: /pet'skee/ [abbreviation of PET ASCII] n. The variation
  7149.    (many would say perversion) of the {{ASCII}} character set used by
  7150.    the Commodore Business Machines PET series of personal computers
  7151.    and the later Commodore C64, C16, and C128 machines.  The PETSCII
  7152.    set used left-arrow and up-arrow (as in old-style ASCII) instead of
  7153.    underscore and caret, placed the unshifted alphabet at positions
  7154.    65--90, put the shifted alphabet at positions 193--218, and added
  7155.    graphics characters.
  7156.  
  7157. :phage: n. A program that modifies other programs or databases in
  7158.    unauthorized ways; esp. one that propagates a {virus} or
  7159.    {Trojan horse}.  See also {worm}, {mockingbird}.  The
  7160.    analogy, of course, is with phage viruses in biology.
  7161.  
  7162. :phase: 1. n. The phase of one's waking-sleeping schedule with
  7163.    respect to the standard 24-hour cycle.  This is a useful concept
  7164.    among people who often work at night and/or according to no fixed
  7165.    schedule.  It is not uncommon to change one's phase by as much as 6
  7166.    hours per day on a regular basis.  "What's your phase?"  "I've
  7167.    been getting in about 8 P.M. lately, but I'm going to {wrap
  7168.    around} to the day schedule by Friday."  A person who is roughly
  7169.    12 hours out of phase is sometimes said to be in `night mode'.
  7170.    (The term `day mode' is also (but less frequently) used, meaning
  7171.    you're working 9 to 5 (or, more likely, 10 to 6).)  The act of
  7172.    altering one's cycle is called `changing phase'; `phase
  7173.    shifting' has also been recently reported from Caltech.
  7174.    2. `change phase the hard way': To stay awake for a very long
  7175.    time in order to get into a different phase.  3. `change phase
  7176.    the easy way': To stay asleep, etc.  However, some claim that
  7177.    either staying awake longer or sleeping longer is easy, and that it
  7178.    is *shortening* your day or night that's hard (see {wrap
  7179.    around}).  The `jet lag' that afflicts travelers who cross many
  7180.    time-zone boundaries may be attributed to two distinct causes: the
  7181.    strain of travel per se, and the strain of changing phase.  Hackers
  7182.    who suddenly find that they must change phase drastically in a
  7183.    short period of time, particularly the hard way, experience
  7184.    something very like jet lag without traveling.
  7185.  
  7186. :phase of the moon: n. Used humorously as a random parameter on which
  7187.    something is said to depend.  Sometimes implies unreliability of
  7188.    whatever is dependent, or that reliability seems to be dependent on
  7189.    conditions nobody has been able to determine.  "This feature
  7190.    depends on having the channel open in mumble mode, having the foo
  7191.    switch set, and on the phase of the moon."
  7192.  
  7193.    True story: Once upon a time there was a bug that really did depend
  7194.    on the phase of the moon.  There is a little subroutine that had
  7195.    traditionally been used in various programs at MIT to calculate an
  7196.    approximation to the moon's true phase.  GLS incorporated this
  7197.    routine into a LISP program that, when it wrote out a file, would
  7198.    print a timestamp line almost 80 characters long.  Very
  7199.    occasionally the first line of the message would be too long and
  7200.    would overflow onto the next line, and when the file was later read
  7201.    back in the program would {barf}.  The length of the first line
  7202.    depended on both the precise date and time and the length of the
  7203.    phase specification when the timestamp was printed, and so the bug
  7204.    literally depended on the phase of the moon!
  7205.  
  7206.    The first paper edition of the Jargon File (Steele-1983) included
  7207.    an example of one of the timestamp lines that exhibited this bug,
  7208.    but the typesetter `corrected' it.  This has since been
  7209.    described as the phase-of-the-moon-bug bug.
  7210.  
  7211. :phase-wrapping: [MIT] n. Syn. {wrap around}, sense 2.
  7212.  
  7213. :phreaking: /freek'ing/ [from `phone phreak'] n. 1. The art and
  7214.    science of cracking the phone network (so as, for example, to make
  7215.    free long-distance calls).  2. By extension, security-cracking in
  7216.    any other context (especially, but not exclusively, on
  7217.    communications networks) (see {cracking}).
  7218.  
  7219.    At one time phreaking was a semi-respectable activity among
  7220.    hackers; there was a gentleman's agreement that phreaking as an
  7221.    intellectual game and a form of exploration was OK, but serious
  7222.    theft of services was taboo.  There was significant crossover
  7223.    between the hacker community and the hard-core phone phreaks who
  7224.    ran semi-underground networks of their own through such media as
  7225.    the legendary `TAP Newsletter'.  This ethos began to break
  7226.    down in the mid-1980s as wider dissemination of the techniques put
  7227.    them in the hands of less responsible phreaks.  Around the same
  7228.    time, changes in the phone network made old-style technical
  7229.    ingenuity less effective as a way of hacking it, so phreaking came
  7230.    to depend more on overtly criminal acts such as stealing phone-card
  7231.    numbers.  The crimes and punishments of gangs like the `414 group'
  7232.    turned that game very ugly.  A few old-time hackers still phreak
  7233.    casually just to keep their hand in, but most these days have
  7234.    hardly even heard of `blue boxes' or any of the other
  7235.    paraphernalia of the great phreaks of yore.
  7236.  
  7237. :pico-: [SI: a quantifier
  7238.    meaning * 10^-12]
  7239.    pref. Smaller than {nano-}; used in the same rather loose
  7240.    connotative way as {nano-} and {micro-}.  This usage is not yet
  7241.    common in the way {nano-} and {micro-} are, but should be
  7242.    instantly recognizable to any hacker.  See also {{quantifiers}},
  7243.    {micro-}.
  7244.  
  7245. :pig, run like a: v. To run very slowly on given hardware, said of
  7246.    software.  Distinct from {hog}.
  7247.  
  7248. :pilot error: [Sun: from aviation] n. A user's misconfiguration or
  7249.    misuse of a piece of software, producing apparently buglike results
  7250.    (compare {UBD}).  "Joe Luser reported a bug in sendmail that
  7251.    causes it to generate bogus headers."  "That's not a bug, that's
  7252.    pilot error.  His `sendmail.cf' is hosed."
  7253.  
  7254. :ping: [from the TCP/IP acronym `Packet INternet Groper', prob.
  7255.    originally contrived to match the submariners' term for a sonar
  7256.    pulse] 1. n.  Slang term for a small network message (ICMP ECHO)
  7257.    sent by a computer to check for the presence and aliveness of
  7258.    another.  Occasionally used as a phone greeting.  See {ACK},
  7259.    also {ENQ}.  2. vt. To verify the presence of.  3. vt. To get
  7260.    the attention of.  From the UNIX command `ping(1)' that sends
  7261.    an ICMP ECHO packet to another host.  4. vt. To send a message to
  7262.    all members of a {mailing list} requesting an {ACK} (in order
  7263.    to verify that everybody's addresses are reachable).  "We haven't
  7264.    heard much of anything from Geoff, but he did respond with an ACK
  7265.    both times I pinged jargon-friends."  5. n. A quantum packet of
  7266.    happiness.  People who are very happy tend to exude pings;
  7267.    furthermore, one can intentionally create pings and aim them at a
  7268.    needy party (e.g., a depressed person).  This sense of ping may
  7269.    appear as an exclamation; "Ping!" (I'm happy; I am emitting a
  7270.    quantum of happiness; I have been struck by a quantum of
  7271.    happiness).  The form "pingfulness", which is used to describe
  7272.    people who exude pings, also occurs.  (In the standard abuse of
  7273.    language, "pingfulness" can also be used as an exclamation, in
  7274.    which case it's a much stronger exclamation than just "ping"!).
  7275.    Oppose {blargh}.
  7276.  
  7277.    The funniest use of `ping' to date was described in January 1991 by
  7278.    Steve Hayman on the USENET group comp.sys.next.  He was trying
  7279.    to isolate a faulty cable segment on a TCP/IP Ethernet hooked up to
  7280.    a NeXT machine, and got tired of having to run back to his console
  7281.    after each cabling tweak to see if the ping packets were getting
  7282.    through.  So he used the sound-recording feature on the NeXT, then
  7283.    wrote a script that repeatedly invoked `ping(8)', listened for
  7284.    an echo, and played back the recording on each returned packet.
  7285.    Result?  A program that caused the machine to repeat, over and
  7286.    over, "Ping ... ping ... ping ..." as long as the
  7287.    network was up.  He turned the volume to maximum, ferreted through
  7288.    the building with one ear cocked, and found a faulty tee connector
  7289.    in no time.
  7290.  
  7291. :Pink-Shirt Book: `The Peter Norton Programmer's Guide to the IBM
  7292.    PC'.  The original cover featured a picture of Peter Norton with a
  7293.    silly smirk on his face, wearing a pink shirt.  Perhaps in
  7294.    recognition of this usage, the current edition has a different
  7295.    picture of Norton wearing a pink shirt.  See also {{book titles}}.
  7296.  
  7297. :PIP: /pip/ [Peripheral Interchange Program] vt.,obs. To copy;
  7298.    from the program PIP on CP/M, RSX-11, RSTS/E, TOPS-10, and OS/8
  7299.    (derived from a utility on the PDP-6) that was used for file
  7300.    copying (and in OS/8 and RT-11 for just about every other file
  7301.    operation you might want to do).  It is said that when the program
  7302.    was originated, during the development of the PDP-6 in 1963, it was
  7303.    called ATLATL (`Anything, Lord, to Anything, Lord'; this played on
  7304.    the Nahuatl word `atlatl' for a spear-thrower, with connotations
  7305.    of utility and primitivity that were no doubt quite intentional).
  7306.  
  7307. :pistol: [IBM] n. A tool that makes it all too easy for you to
  7308.    shoot yourself in the foot.  "UNIX `rm *' makes such a nice
  7309.    pistol!"
  7310.  
  7311. :pizza box: [Sun] n. The largish thin box housing the electronics
  7312.    in (especially Sun) desktop workstations, so named because of its
  7313.    size and shape and the dimpled pattern that looks like air holes.
  7314.  
  7315.    Two meg single-platter removable disk packs used to be called
  7316.    pizzas, and the huge drive they were stuck into was referred to as
  7317.    a pizza oven.  It's an index of progress that in the old days just
  7318.    the disk was pizza-sized, while now the entire computer is.
  7319.  
  7320. :pizza, ANSI standard: /an'see stan'd*rd peet'z*/ [CMU] Pepperoni
  7321.    and mushroom pizza.  Coined allegedly because most pizzas ordered
  7322.    by CMU hackers during some period leading up to mid-1990 were of
  7323.    that flavor.  See also {rotary debugger}; compare {tea, ISO
  7324.    standard cup of}.
  7325.  
  7326. :plaid screen: [XEROX PARC] n. A `special effect' that occurs
  7327.    when certain kinds of {memory smash}es overwrite the control
  7328.    blocks or image memory of a bit-mapped display.  The term "salt and
  7329.    pepper" may refer to a different pattern of similar origin.
  7330.    Though the term as coined at PARC refers to the result of an error,
  7331.    some of the {X} demos induce plaid-screen effects deliberately
  7332.    as a {display hack}.
  7333.  
  7334. :plain-ASCII: /playn-as'kee/ Syn. {flat-ASCII}.
  7335.  
  7336. :plan file: [UNIX] n. On systems that support {finger}, the
  7337.    `.plan' file in a user's home directory is displayed when the user
  7338.    is fingered.  This feature was originally intended to be used to
  7339.    keep potential fingerers apprised of one's location and near-future
  7340.    plans, but has been turned almost universally to humorous and
  7341.    self-expressive purposes (like a {sig block}).  See {Hacking X
  7342.    for Y}.
  7343.  
  7344.    A recent innovation in plan files has been the introduction of
  7345.    "scrolling plan files" which are one-dimensional animations made
  7346.    using only the printable ASCII character set, carriage return and
  7347.    line feed, avoiding terminal specific escape sequences, since the
  7348.    {finger} command will (for security) not pass the escape
  7349.    character.
  7350.  
  7351.    Scrolling .plan files have become art forms in miniature, and some
  7352.    sites have started competitions to find who can create the longest
  7353.    running, funniest, and most original animations.  Various animation
  7354.    characters include:
  7355.  
  7356.      Centipede:
  7357.           mmmmme
  7358.      Lorry/Truck:
  7359.           oo-oP
  7360.      Andalusian Video Snail:
  7361.           _@/
  7362.  
  7363.    and a compiler (ASP) is available on USENET for producing them.
  7364.  
  7365. :platinum-iridium: adj. Standard, against which all others of the
  7366.    same category are measured.  Usage: silly.  The notion is that one
  7367.    of whatever it is has actually been cast in platinum-iridium alloy
  7368.    and placed in the vault beside the Standard Kilogram at the
  7369.    International Bureau of Weights and Measures near Paris.  (From
  7370.    1889 to 1960, the meter was defined to be the distance between two
  7371.    scratches in a platinum-iridium bar kept in that vault --- this
  7372.    replaced an earlier definition as 10^(-7) times the distance
  7373.    between the North Pole and the Equator along a meridian through
  7374.    Paris; unfortunately, this had been based on an inexact value of
  7375.    the circumference of the Earth.  From 1960 to 1984 it was defined
  7376.    to be 1650763.73 wavelengths of the orange-red line of krypton-86
  7377.    propagating in a vacuum.  It is now defined as the length of the
  7378.    path traveled by light in a vacuum in the time interval of
  7379.    1/299,792,458 of a second.  The kilogram is now the only unit of
  7380.    measure officially defined in terms of a unique artifact.)  "This
  7381.    garbage-collection algorithm has been tested against the
  7382.    platinum-iridium cons cell in Paris."  Compare {golden}.
  7383.  
  7384. :playpen: [IBM] n. A room where programmers work.  Compare {salt
  7385.    mines}.
  7386.  
  7387. :playte: /playt/ 16 bits, by analogy with {nybble} and
  7388.    {{byte}}.  Usage: rare and extremely silly.  See also {dynner}
  7389.    and {crumb}.
  7390.  
  7391. :plingnet: /pling'net/ n. Syn. {UUCPNET}.  Also see
  7392.    {{Commonwealth Hackish}}, which uses `pling' for {bang} (as in
  7393.    {bang path}).
  7394.  
  7395. :plokta: /plok't*/ [Acronym for `Press Lots Of Keys To Abort']
  7396.    v. To press random keys in an attempt to get some response from
  7397.    the system.  One might plokta when the abort procedure for a
  7398.    program is not known, or when trying to figure out if the system is
  7399.    just sluggish or really hung.  Plokta can also be used while trying
  7400.    to figure out any unknown key sequence for a particular operation.
  7401.    Someone going into `plokta mode' usually places both hands flat
  7402.    on the keyboard and presses down, hoping for some useful
  7403.    response.
  7404.  
  7405.    A slightly more directed form of plokta can often be seen in mail
  7406.    messages or USENET articles from new users --- the text might end
  7407.    with
  7408.  
  7409.              q  
  7410.              quit       
  7411.              :q 
  7412.              ^C 
  7413.              end        
  7414.              x  
  7415.              exit       
  7416.              ZZ 
  7417.              ^D 
  7418.              ?  
  7419.              help
  7420.  
  7421.    as the user vainly tries to find the right exit sequence, with the
  7422.    incorrect tries piling up at the end of the message....
  7423.  
  7424.  
  7425. X-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-X
  7426.  Another file downloaded from:                     The NIRVANAnet(tm) Seven
  7427.  
  7428.  & the Temple of the Screaming Electron   Taipan Enigma        510/935-5845
  7429.  Burn This Flag                           Zardoz               408/363-9766
  7430.  realitycheck                             Poindexter Fortran   510/527-1662
  7431.  Lies Unlimited                           Mick Freen           801/278-2699
  7432.  The New Dork Sublime                     Biffnix              415/864-DORK
  7433.  The Shrine                               Rif Raf              206/794-6674
  7434.  Planet Mirth                             Simon Jester         510/786-6560
  7435.  
  7436.                           "Raw Data for Raw Nerves"
  7437. X-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-X
  7438.